我一直在玩序列化对象,我想知道你是否可以使用DataMember
属性根据条件覆盖序列化值?例如,如果我在班上有这个属性:
[DataMember]
public string Foo { get; set; }
我创建了一个我的类的实例,其中Foo
设置为IsFoo
,我是否可以使用DataMember
属性将其序列化为类似的内容:< / p>
<Foo>Bar</Foo>
请注意,这是一个假设的问题,在现实生活中,这肯定是不好的做法或数据问题,但它有可能吗?
答案 0 :(得分:1)
不你做不到。
[DataMember]
属性仅告知WCF DataContractSerializer
包含该值(在属性中)到WCF消息中 - 它不允许您更改过程中的价值......
如果您需要在WCF邮件中添加Bar
,则必须在代码中设置Foo = "Bar";
...