如何将枚举属性公开给WCF客户端

ini*_*iki 7 wcf enums

我想将枚举属性公开给WCF客户端应用程序,但我只能看到枚举值.

这是枚举:

public enum TemplateType
{
    [EnumDescription("Property Particulars")]
    [EnumValue("PropertyParticulars")]        
    PropertyParticulars = 1,

    [EnumDescription("Short Format Lists")]
    [EnumValue("ShortFormatLists")]        
    ShortFormatLists,

    [EnumDescription("Client Letters")]
    [EnumValue("ClientLetters")]
    ClientLetters,

    [EnumDescription("Labels")]
    [EnumValue("Labels")]
    Labels
}
Run Code Online (Sandbox Code Playgroud)

如何公开Description和Value属性?

And*_*are 8

您可以从服务公开枚举,但枚举时的属性在通过网络发送时不会被序列化.这意味着此枚举的使用者只会看到枚举本身,而不会看到任何属性.

你需要做的是用DataContract属性打造你的枚举,用属性打扮你的值,EnumMember这样你的信息就会被序列化,但是这只允许你指定每个枚举值的基础值,而不是描述.