WSDL:如何使用C#FlagsAttribute创建枚举?
基本上,我创建了我的WSDL并添加了一个带有枚举值的SimpleType:a、B、C。当我使用此WSDL构建服务时,我希望使用WSDL:如何使用C#FlagsAttribute创建枚举?,c#,enums,wsdl,enum-flags,simpletype,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 d
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
}
[Flags]/很好地解释了这一点。从他们的例子来看:
[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
}
除非我没有抓住要点。C#(最好使用svcuti.exe),问题是如何让svcuti自动用FlagsAttribute
标记枚举。我想知道为了实现这样的目标,wsdl xml会是什么样子。@michael:据我所知,XSD需要将其标记为svcutil才能进行这种更改。您可以在之后手动更改生成的文件,但这会使svcuti和可维护性的目的无效。这正是我要问的。我的wsdl/xsd文件需要如何标记,以便svcutil自动为我生成[Flags]
?@Michael:我的意思是,更改需要在服务器端进行,而不是在客户端进行。我理解这一点。在本例中,我不是手动创建服务器端代码,而是将wsdl/xsd输入到svcutil中,以生成正确的服务器端代码。基本上,我希望我的wsdl/xsd生成带有[Flags]
标记的枚举的服务器代码。我的问题旨在了解如何正确标记我的wsdl/xsd,以便服务器端生成的代码按照我希望的方式出现(无需事后修改)。