【问题标题】:How can I use a enum in a datacontract WCF如何在数据合同 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 客户端访问枚举。请让我知道我做错了什么。

【问题讨论】:

    标签: c# .net wcf web-services


    【解决方案1】:

    要包含在 mex/wsdl 中,枚举需要在图表中的某处使用,例如在某处应该有一个 myenum 类型的属性。图中未主动使用的类型被省略。

    还请注意,您实际上根本不需要注释枚举 - 它们可以正常工作。如果你想自定义它们在网络上的作用,你只需要枚举的属性。

    【讨论】:

    • ...或者如果您想发布某些枚举值而不是其他枚举值
    【解决方案2】:

    正如马克所说 - 使用它。在需要 iirc 之前,数据类型本身不是问题。

    其中一部分不需要在其上具有 Datacontract 和 EnumMember(适用特殊规则)。请参阅http://msdn.microsoft.com/en-us/library/aa347875.aspx 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      相关资源
      最近更新 更多