次のような値を持つ列挙型を含む Web サービスを作成しました
public enum DesignChoice
{
DesignerChoice = 1,
CustomerChoice = 2,
AdditionalDesign=3,
}
クライアント Web サイトへの参照を追加すると、次のコードのように列挙値が変更されます。
(int)DesignChoice.AdditionalDesign
2を返しますが、3になると予想しています。
[System.Xml.Serialization.XmlTypeAttribute()]
どこからともなくシリアライゼーション属性を試しましたが、うまくいきませんでした。
サービスの WSDL は、列挙型を次のように記述します。
<s:simpleType name="DesignChoice">
<s:restriction base="s:string">
<s:enumeration value="DesignerChoice" />
<s:enumeration value="CustomerChoice" />
<s:enumeration value="AdditionalDesign" />
</s:restriction>
</s:simpleType>
VS のクラス名で F12 を押すと、メタデータから生成された次のコードが表示されます。
public enum DesignChoice
{
DesignerChoice = 0,
CustomerChoice = 1,
AdditionalDesign = 2,
}
Visual Studio 2005 と .NET 2.0 を使用しています。