首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于将属性序列化切换为NetDataContractSerializer的自定义特性

用于将属性序列化切换为NetDataContractSerializer的自定义特性
EN

Stack Overflow用户
提问于 2009-12-12 05:57:05
回答 1查看 1.1K关注 0票数 2

在.NET 3.5中,我想创建一个自定义属性(比如NetDataMember),将序列化行为从DataContractSerializer切换到NetDataContractSerializer

基本上,对于如下所示的类A

代码语言:javascript
复制
[DataContract]
class A
{
  [DataMember]
  public int SimpleProperty { get; set; }

  [Transcient]
  public IBar ComplexProperty { get; set; }
}

我希望获得一个默认情况下行为类似于DataContractSerializer的序列化程序,但对于标记为[NetDataMember]的属性,它将被NetDataContractSerializer覆盖。

你知道如何设计一个序列化程序来实现这样的行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-12 06:06:56

在WCF中没有“开箱即用”的方法来做到这一点--但是很多真正聪明的人已经解决了这个问题。

请看Aaron Skonnard的blog post on the NetDataContractSerializer,他在其中展示了一种行为,您可以将其作为属性添加到数据契约中:

代码语言:javascript
复制
[NetDataContractFormat] 

在您的服务接口上(对于所有方法)或在单个方法上,将为该调用使用NetDataContractSerializer。您需要为每个操作或服务定义这一点,而不是在您的数据契约上。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1891128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档