私はそのような列挙型を持っています:
public enum DriveConfig
{
[Description("4X2")]
FOURXTWO=0,
[Description("4x4")]
FOURXFOUR=1,
[Description("6x2")]
SIXBYTWO=2,
[Description("6x4")]
SIXBYFOUR=3
}
そして、私のシステムでは、次のような方法で説明を簡単に取得できます。
public static string GetDescriptionFromEnumValue(Enum value)
{
DescriptionAttribute attribute = value.GetType()
.GetField(value.ToString())
.GetCustomAttributes(typeof(DescriptionAttribute), false)
.SingleOrDefault() as DescriptionAttribute;
return attribute == null ? value.ToString() : attribute.Description;
}
本当にうまく機能します。
しかし今、システムを Web サービスで拡張する必要があるため、オブジェクトの dto を作成し、それらをシリアル化しています。まっすぐに。しかし、どうすれば反対側に説明を含めることができますか?
私はこれを試しました
[DataContract]
public enum DriveConfigDto
{
[Description("4X2")]
[EnumMember]
FOURXTWO=0,
[Description("4x4")]
[EnumMember]
FOURXFOUR=1,
[Description("6x2")]
[EnumMember]
SIXBYTWO=2,
[Description("6x4")]
[EnumMember]
SIXBYFOUR=3
}
しかし、私は反対側の説明にアクセスできません