如何在数据合同 WCF 中使用枚举
Posted
技术标签:
【中文标题】如何在数据合同 WCF 中使用枚举【英文标题】:How can I use a enum in a datacontract WCF 【发布时间】:2011-05-29 20:52:32 【问题描述】:我想在 WCF 网络服务的数据合同中拥有一个枚举。
我正在尝试使用
[DataContract]
class myclass
[DataMember]
public int id get; set;
[DataContract]
public enum myenum
[EnumMember]
a,
[EnumMember]
b
但我无法在 wcf 客户端访问枚举。请让我知道我做错了什么。
【问题讨论】:
【参考方案1】:要包含在 mex/wsdl 中,枚举需要在图表中的某处使用,例如在某处应该有一个 myenum
类型的属性。图中未主动使用的类型被省略。
还请注意,您实际上根本不需要注释枚举 - 它们可以正常工作。如果你想自定义它们在网络上的作用,你只需要枚举的属性。
【讨论】:
...或者如果您想发布某些枚举值而不是其他枚举值【参考方案2】:正如马克所说 - 使用它。在需要 iirc 之前,数据类型本身不是问题。
其中一部分不需要在其上具有 Datacontract 和 EnumMember(适用特殊规则)。请参阅http://msdn.microsoft.com/en-us/library/aa347875.aspx 了解更多信息。
【讨论】:
以上是关于如何在数据合同 WCF 中使用枚举的主要内容,如果未能解决你的问题,请参考以下文章