如果我们想要在WCF中使用枚举的话,应该如何正确的操作呢?在这里我们将会通过一个具体的操作步骤为大家详细讲解一下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);
- }
就可以了。 如果你使用默认的WCF枚举。 也就是[EnumMember]C = 4,这种的值是由系统默认的。 那不用加 ServiceKnownType(typeof(Enum))和[EnumMember]。
[EnumMember]这种属性只不过是在服务端可以用而在客户端不可用。
以上就是我们为大家介绍的WCF枚举的使用方法。
【编辑推荐】