WCF枚舉類型正確使用方法演示
WCF開(kāi)發(fā)工具的應(yīng)用,首先需要初學(xué)者了解的就是在這一平臺(tái)中的代碼編寫(xiě)方式,這樣我們才能利用這一平臺(tái)來(lái)幫助我們打造一些特定的功能程序。在這里我們先來(lái)了解一下WCF枚舉類型的使用情況。
通常情況下,我們無(wú)需做任何設(shè)置就可以使用WCF枚舉類型。
- public enum DataType
- {
- A,
- B,
- C
- }
- [ServiceContract]
- public interface IMyService
- {
- [OperationContract]
- void Test(DataType d);
- }
客戶端代理
- //------------------------------------------------
- // <auto-generated>
- // 此代碼由工具生成。
- // 運(yùn)行庫(kù)版本:2.0.50727.42
- //
- // 對(duì)此文件的更改可能會(huì)導(dǎo)致不正確的行為,并且如果
- // 重新生成代碼,這些更改將會(huì)丟失。
- // </auto-generated>
- //------------------------------------------------
- namespace ConsoleApplication1.localhost
- {
- [GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
- [DataContractAttribute(Namespace = "...")]
- public enum DataType : int
- {
- [EnumMemberAttribute()]
- A = 0,
- [numMemberAttribute()]
- B = 1,
- [EnumMemberAttribute()]
- C = 2,
- }
- [GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
- [ServiceContractAttribute(ConfigurationName =
"ConsoleApplication1.localhost.IMyService")]- public interface IMyService
- {
- [OperationContractAttribute(Action =
"http://tempuri.org/IMyService/Test", ReplyAction = "...")]- void Test(DataType d);
- }
- }
如果我們只想使用部分WCF枚舉類型值時(shí),可以使用 EnumMemberAttribute。
- [DataContract]
- public enum DataType
- {
- [EnumMember]A,
- B,
- [EnumMember]C
- }
代理文件
- //--------------------------------------
- // <auto-generated>
- // 此代碼由工具生成。
- // 運(yùn)行庫(kù)版本:2.0.50727.42
- //
- // 對(duì)此文件的更改可能會(huì)導(dǎo)致不正確的行為,并且如果
- // 重新生成代碼,這些更改將會(huì)丟失。
- // </auto-generated>
- //----------------------------------------
- namespace ConsoleApplication1.localhost
- {
- [GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
- [DataContractAttribute(Namespace = "...")]
- public enum DataType : int
- {
- [EnumMemberAttribute()]
- A = 0,
- [EnumMemberAttribute()]
- C = 2,
- }
- }
我們還可以使用 EnumMemberAttribute.Value 為WCF枚舉類型值設(shè)置一個(gè) "固定" 的名字,這和前面我們提到的 ServiceContract / DataContract 版本問(wèn)題類似。
- [DataContract]
- public enum DataType
- {
- [EnumMember(Value="A")]Axxx,
- B,
- [EnumMember]C
- }
【編輯推薦】