WSDL:如何使用C#FlagsAttribute创建枚举?

时间:2011-03-22 15:58:27

标签: c# enums wsdl enum-flags simpletype

基本上,我创建了我的WSDL并添加了一个带有枚举值的SimpleType:A,B,C。当我使用这个wsdl构建我的服务时,我希望用FlagsAttribute构建枚举,但我该怎么做在我的wsdl中指定它?

我正在使用svcutil.exe来生成我的C#代码。

更新:我正在使用svcutil.exe构建我的服务器端代码。我是这样打来的:svcutil.exe "Foo.wsdl" "global.xsd"。但是,我不确定如何正确标记我的wsdl / xsd标记,以便生成的代码如下所示:

[Flags] //<-- How do you get this to become autogenerated?
public enum SomeEnum
{
    A,
    B,
    C
}

1 个答案:

答案 0 :(得分:1)

Enumeration Types in Data Contracts很好地解释了这一点。从他们的例子来看:

[DataContract][Flags]
public enum CarFeatures
{
    None = 0,
    [EnumMember]
    AirConditioner = 1,
    [EnumMember]
    AutomaticTransmission = 2,
    [EnumMember]
    PowerDoors = 4,
    AlloyWheels = 8,
    DeluxePackage = AirConditioner | AutomaticTransmission | PowerDoors | AlloyWheels,
    [EnumMember]
    CDPlayer = 16,
    [EnumMember]
    TapePlayer = 32,
    MusicPackage = CDPlayer | TapePlayer,
    [EnumMember]
    Everything = DeluxePackage | MusicPackage
}

除非我在这里忽略了这一点。