1

私はそのような列挙型を持っています:

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
}

しかし、私は反対側の説明にアクセスできません

4

4 に答える 4

0

サービス参照を追加する前に、列挙型が定義されているアセンブリを参照し、サービス参照を追加するときにそれを再利用アセンブリ リストに追加する必要があります。

于 2013-09-19T11:27:43.543 に答える