この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 17153|答える: 0

[通信] C#列挙値増加特徴記述

[リンクをコピー]
掲載地 2019/01/28 10:48:27 | | |
印刷や表示用の機能を通じて、列挙型の各値に文字列記述を追加します。

印刷特性をカスタマイズしてください

print関数の定義はシンプルで、文字列属性は1つだけです。

列挙を定義する

列挙タイプ1と2はどちらも印刷機能を追加します。

enum拡張法を加えて印刷特性値を得る


  • enum varのfiled値に対応するenum文字列を取得します。fieldName = Enum。GetName(t_type, t);
  • filed var attribute = typeof(TestEnum)に対応したすべてのカスタム属性セットを取得します。 GetField(fieldName)。 GetCustomAttributes(false);
  • EnumDisplayAttributeプロパティvar enumDisplayAttribute = attributesを取得します。 FirstOrDefault(p => p.GetType()。 Equals(typeof(EnumDisplayAttribute)))をEnumDisplayAttributeとして扱います。
  • EnumDisplayAttributeプロパティが存在する場合、そのDisplay値を返します。そうでなければfiled文字列を返します。enumDisplayAttribute ==null? fieldName : enumDisplayAttribute.Display;


使用例

アウトプット:

1  
3
拡張指示

この方法は、列挙型に説明的特性を追加するだけでなく、カスタム型にカスタム特性も加えることができます。
リフレクションを使う場合、GetField(文字列名)、GetMethod(文字列名)、GetProperty(文字列名)などの文字列が必要です
カスタムタイプ属性やメソッド名文字列を取得する際にnameofを使うことができます







先の:1月28日(月) 謝宥朝刊
次に:C#における角括弧の使用、例えばList<int>
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com