在WCF中使用枚举的话。

 

 

1. 在服务契约上添加 ServiceKnownType(typeof(Enum))
2.
为枚举值添加 [EnumMember]

[DataContract]
[Flags]
public enum DataType
{
  [EnumMember]A = 1,
  [EnumMember]B = 2,
  [EnumMember]C = 4,
  [EnumMember]D = 8
}

[ServiceContract]
[ServiceKnownType(typeof(DataType))]
public interface IMyService
{
  [OperationContract]
  void Test(DataType d);
}

 

就可以了。 如果你使用默认的枚举类型。 也就是[EnumMember]C = 4,
这种的值是由系统默认的。 那不用加 ServiceKnownType(typeof(Enum))和[EnumMember]

[EnumMember]这种属性只不过是在服务端可以用而在客户端不可用。

相关文章:

猜你喜欢
  • 2022-01-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
相关资源
相似解决方案