是否可以使用DataMember覆盖序列化的属性值

时间:2015-03-21 13:22:20

标签: c# serialization datamember

我一直在玩序列化对象,我想知道你是否可以使用DataMember属性根据条件覆盖序列化值?例如,如果我在班上有这个属性:

[DataMember]
public string Foo { get; set; }

我创建了一个我的类的实例,其中Foo设置为IsFoo,我是否可以使用DataMember属性将其序列化为类似的内容:< / p>

<Foo>Bar</Foo>

请注意,这是一个假设的问题,在现实生活中,这肯定是不好的做法或数据问题,但它有可能吗?

1 个答案:

答案 0 :(得分:1)

你做不到。

[DataMember]属性仅告知WCF DataContractSerializer 包含该值(在属性中)到WCF消息中 - 它不允许您更改过程中的价值......

如果您需要在WCF邮件中添加Bar,则必须在代码中设置Foo = "Bar"; ...