0

Enum があり、各値の説明を追加したいと考えています。私の問題を解決できる属性について何かを読みました。msdn からソリューションを実装しようとしましたが、成功しませんでした。クラスを使用しているが列挙値を使用していない場合に機能します。

誰かがそれがどのように機能するかを投稿することは可能ですか?

よろしく

msdn ソリューションへのリンクを次に示します。それが私がやろうとしていることです。唯一の違いは、列挙値を使いたいということです。

http://msdn.microsoft.com/de-de/library/aa288454(v=vs.71).aspx

例:

public enum Color
{
  [Description("This is red")]
  Red,
  [Description("This is blue")]
  Blue
}

どうすれば説明にアクセスでき、どのように説明クラス/メソッドを実装する必要がありますか?

4

2 に答える 2

2

このようなもの

using System.ComponentModel;

public enum MyColors{
   [Description("Editor Color")]
   White,
   [Description("Errors Color")]
   Red,
   [Description("Comments Color")]
   Green
}
于 2013-04-14T18:52:37.650 に答える
0

列挙型でこれを試してください

public enum MyColors{
[Description("Editor Color")]
White,
[Description("Errors Color")]
Red,
[Description("Comments Color")]
Green
}


var type = typeof(MyColors);
var memInfo = type.GetMember(MyColors.White.ToString());
var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute),
false);
var description = ((DescriptionAttribute)attributes[0]).Description;
于 2013-04-15T06:08:22.233 に答える