WCF枚举实现技巧总结(转)

WCF枚举的实现可以通过本文介绍的两种操作步骤来实现,其中包括:在服务契约上添加 ServiceKnownType(typeof(Enum))以及为枚举值添加 [EnumMember]。
如果我们想要在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枚举的使用方法。

    Refer to:http://developer.51cto.com/art/201002/184930.htm

    原文地址:https://www.cnblogs.com/kinpauln/p/2096286.html