1. ホーム
  2. c#

[解決済み】列挙型の命名規則 - 複数形

2022-03-28 19:53:14

質問

私はこの質問をしているのですが、似たようなものを読みましたが、私が欲しいものとは全く違います。 C#のenumとマッチングプロパティの命名規則

私は、列挙型を複数で命名し、それを単数で「使用」する傾向があることに気づきました、例えば。

public enum EntityTypes {
  Type1, Type2
}

public class SomeClass {
  /*
    some codes
  */

  public EntityTypes EntityType {get; set;}

}

もちろん、これは私のスタイルですが、このような慣例に潜在的な問題を見つけることができるでしょうか?ただ、quot;Statusという単語を使った醜いネーミングはありますね。

public enum OrderStatuses {
  Pending, Fulfilled, Error, Blah, Blah
}

public class SomeClass {
  /*
    some codes
  */

  public OrderStatuses OrderStatus {get; set;}

}

追加情報です。 私の質問が十分に明確でなかったかもしれません。自分で定義したenum型の変数に名前を付けるとき、よく考えなければなりません。ベストプラクティスは知っていますが、それらの変数に名前を付けるという私の仕事を軽減する助けにはなりません。

enumプロパティ(例えば"Status")をすべて"MyStatus"として公開することはできないのですが、どうすればいいですか?

質問です。どなたか、上記のような私の慣習に潜在的な問題を発見できる方はいらっしゃいますか? ベストプラクティスの問題ではありません。

質問の言い直し。

まあ、こうやって質問すればいいんでしょうけど。誰か、列挙型の名前を付ける良い一般的な方法、つまり列挙型「インスタンス」の名前を簡単に付ける方法を教えてください。

どのように解決するのですか?

マイクロソフトでは、以下のような場合に単数形を使用することを推奨しています。 Enum がない限り Enum はビットフィールドを表します。 FlagsAttribute も同様)。参照 列挙型の命名規則 (マイクロソフトの 命名ガイドライン ).

ご明察の通り、私は以下のどちらにも問題はないと考えています。

public enum OrderStatus { Pending, Fulfilled, Error };

public class SomeClass { 
    public OrderStatus OrderStatus { get; set; }
}

または

public enum OrderStatus { Pending, Fulfilled, Error };

public class SomeClass {
    public OrderStatus Status { get; set; }
}