WSDL: Как создать перечисление с C # FlagsAttribute? - PullRequest
0 голосов
/ 22 марта 2011

По сути, я создал свой 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 Ответ

1 голос
/ 22 марта 2011

Типы перечисления в контрактах данных объясняет это довольно хорошо.Из их примера:

[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
}

Если я не упустил суть здесь.

...