基本上,我创建了我的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
}
答案 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
}
除非我在这里忽略了这一点。