我希望在WCF Web服务的数据合约中有一个枚举。
我正在尝试使用
[DataContract]
class myclass
{
[DataMember]
public int id {get; set;}
[DataContract]
public enum myenum
{
[EnumMember]
a,
[EnumMember]
b
}
}
但我无法访问wcf客户端的枚举。请让我知道我做错了什么。
答案 0 :(得分:36)
要包含在mex / wsdl中,枚举需要在图表中的某处使用,例如,应该存在类型为myenum
的某个属性。
另请注意,您实际上并不需要在所有中注释枚举 - 它们可以正常工作。如果要自定义它们在线路上的操作方式,则只需要枚举中的属性。
答案 1 :(得分:2)
正如马克所说 - 使用它。在需要iirc之前,数据类型本身不是问题。
部分原因是它不需要使用Datacontract和EnumMember(特殊规则适用)。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa347875.aspx。