WCF学习笔记-枚举类型
2013-06-07 00:25
253 查看
版权所有,转载请注明出处:http://guangboo.org/2013/06/06/wcf-enumeration-contract
枚举类型在WCF中默认是可以被序列化的,而不需要显式的使用DataContractAttribute来修饰。因此如下代码是可以正常运行的:
如果要在禁止某一个枚举值,就需要显示的使用DataContractAttribute来修饰了,并且需要EnumMemberAttribute来修饰枚举值,没有被EnumMemberAttriubute修饰的枚举值就表示不被包含在数据契约中。如要因此枚举ContactType的Partner枚举值的话,可以使用如下代码:
等同于:
另外EnumMemberAttribute有一个Value属性,可以改变枚举名在数据契约中的名称,类似于DataContractAttribute, DataMemberAttribute和OperationContractAttribute的Name属性。使用方法如下代码:
那么数据契约就等同于:
枚举类型在WCF中默认是可以被序列化的,而不需要显式的使用DataContractAttribute来修饰。因此如下代码是可以正常运行的:
enum ContactType { Customer, Vendor, Partner } [DataContract] class Contact { [DataMember] public ContactType ContactType; .... }
如果要在禁止某一个枚举值,就需要显示的使用DataContractAttribute来修饰了,并且需要EnumMemberAttribute来修饰枚举值,没有被EnumMemberAttriubute修饰的枚举值就表示不被包含在数据契约中。如要因此枚举ContactType的Partner枚举值的话,可以使用如下代码:
[DataContract] enum ContactType { [EnumMember] Customer, [EnumMember] Vendor, // will not be part of data contract. Partner }
等同于:
enum ContactType { Customer, Vendor }
另外EnumMemberAttribute有一个Value属性,可以改变枚举名在数据契约中的名称,类似于DataContractAttribute, DataMemberAttribute和OperationContractAttribute的Name属性。使用方法如下代码:
[DataContract] enum ContactType { [EnumMember(Value = "MyCustomer")] Customer, [EnumMember] Vendor, [EnumMember] Partner }
那么数据契约就等同于:
enum ContactType { MyCustomer, Vendor, Partner }
相关文章推荐
- Java学习笔记21 枚举类型enum、Enu…
- C# step by step 学习笔记8 CHAPTER 9 使用枚举和结构创建值类型
- JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
- 【js学习笔记-053】js中的面向对象技术------枚举类型
- JPA学习笔记---JPA实体Bean的建立---链接上一个博文:对实体Bean中属性进行操作:保存日期类型,设置字段的长度,名字,是否为空,可以声明枚举字段;可以存放二进制数据,可以存放
- C语言学习笔记:23_枚举类型
- c#学习笔记--数组、枚举、结构、值类型和引用类型
- C++学习笔记之七 复合类型---枚举
- WCF学习笔记:传递DataTable 报错是因为WCF不支持DataTable数据类型,DataContractSerializer 支持的类型
- 黑马程序员----C 语言学习笔记之枚举类型和typedef关键字
- <C#入门经典>学习笔记3之类型转换与枚举
- C++ 学习笔记(19)new/delete表达式、定位new、typeid、dynamic_cast、type_info、枚举类型、成员函数指针、union、位域、volatile限定符、链接指示
- Swift学习笔记(六)枚举类型
- Kotlin学习笔记--枚举和Sealed Class(密封、印章类型)
- C#基础学习笔记--数据类型,值类型,结构类型,枚举类型
- C++ Primer学习笔记5 变量和基本类型(const限定符、引用、typedef名字、枚举)
- C# 2010 从入门到精通 学习笔记8 第9章 使用枚举和结构来创建值类型
- WCF学习笔记——不支持内容类型 text/xml; charset=utf-8
- (原创)c#学习笔记05--变量的更多内容02--复杂的类型变量01--枚举
- WCF学习笔记——不支持内容类型 text/xml; charset=utf-8