博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重温WCF之数据契约中使用枚举(转载)(十一)
阅读量:5287 次
发布时间:2019-06-14

本文共 965 字,大约阅读时间需要 3 分钟。

转载地址:

枚举类型的定义总是支持序列化的。当我们定义一个新的枚举时,不必应用DataContract特性,就可以在数据契约中使用它。数据契约隐式地包含了枚举对象的所有值。

enum ContactType     {         Customer,         Vendor,         Partner     }     [DataContract]     struct Contact     {         [DataMember]         public ContactType ContactType;         [DataMember]         public string FirstName;         [DataMember]         public string LastName;     }

如果要将确定的枚举值排除于数据契约之外,首先需要为枚举类型标记DataContract特性。然后,再将那些我们希望包含在枚举数据契约的枚举值,明确地标记为EnumMember特性。

没有标记EnumMember特性的枚举值不属于该枚举的数据契约。

[DataContract]

enum ContactType
{
[EnumMember]
Customer,
[EnumMember]
Vendor,
//不会成为数据契约的一部分
Partner
}
生成的传输型表示形式为:
enum ContactType
{
Customer,
Vendor
}
EnumMember特性还有另外一个用途,就是通过它的Value属性,为现有的枚举数据契约的枚举值设置确切的别名。例如这样的枚举:
[DataContract]
enum ContactType
{
[EnumMember(Value = "MyCustomer")]
Customer,
[EnumMember]
Vendor,
[EnumMember]
Partner
}
生成的传输型表示形式如下:
enum ContactType
{
MyCustomer,
Vendor,
Partner
}

转载于:https://www.cnblogs.com/yxlblogs/p/4119060.html

你可能感兴趣的文章
PyTorch学习笔记之DataLoaders
查看>>
LeetCode Length of Last Word
查看>>
解决Flash和html在多标签浏览器中互访问题
查看>>
[LeetCode] First Bad Version
查看>>
Java面向对象编程之异常处理机制
查看>>
虚拟存储管理
查看>>
Loj10222 佳佳的Fibonacci(矩阵乘法)
查看>>
springboot集成quartz实现任务调度
查看>>
剑指offer——重建二叉树
查看>>
二叉树——在二叉树中找到一个节点的前驱节点
查看>>
8.Java语言基础:函数
查看>>
从前端接收时间类型,要在实体类中加上@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")注解...
查看>>
移动cell的位置
查看>>
iTOP-iMX6UL全能板-linux-usb-wifi的使用
查看>>
Django学习---笔记一
查看>>
树莓派开发板入门学习笔记2:[转]树莓派系统在VM中能做什么
查看>>
HTML中常用鼠标样式
查看>>
hdu3255扫描线:带权面积交转体积交
查看>>
在.NET中使用命名管道完成进程间通信(转自网络)
查看>>
推荐:全新Java开发思维导图
查看>>