数据契约与消息契约深度解析
1. 枚举成员属性控制
EnumMemberAttribute
有一个单一属性 Value
,可用于控制枚举成员在架构中的命名。示例如下:
[EnumMember(Value="Event")]
Gig,
[EnumMember(Value="Music")]
MP3,
[EnumMember(Value="Pics")]
Photo
通过 Value
属性,能灵活定义枚举成员在架构中的名称,以满足不同的业务需求。
2. 集合数据契约属性
CollectionDataContractAttribute
是用于创建自定义集合并将其作为服务契约一部分公开的特殊属性。它包含以下成员:
- Name :控制为架构生成的集合类型名称,默认使用 CLR 类型名称。
- Namespace :设置架构的目标命名空间,默认行为与 DataContractAttribute
类似。
- ItemName :控制集合中每个元素的名称。
- KeyName :仅用于字典集合,控制键名。若集合类型不是字典,则此属性无效。
- ValueName :仅用于字典集合,控制值名