2013-08-07 41 views
0

我似乎记得,如果它有一个默认值,或者可能只是null,那么它会告诉serialiser不包含字段。Wcf序列化排除默认值

任何人都可以记得,如果这样的事情存在于WCF?

+0

你要问哪个序列化呢? –

+0

优秀点休,DataContractSerializer,虽然我认为我看到“不串行如果默认或空”是通过属性声明的。我猜WCF兼容的序列化器必须理解像[DataMember]这样的常见属性?实际上并没有给出太多的想法。 – Ian

+0

我绝对无法在DataContractSerializer文档中找到它,所以我开始认为它不是标准的。上下文中我记得在Microsoft文档中看到它,但这也是我期望它成为标准的部分原因:/ – Ian

回答

4

随着数据协定序列可以使用EmitDefaultValue属性:

[DataMember(EmitDefaultValue = false)] 
public string position = null; 
+0

现货感谢。我试图弄清楚为什么我之前无法找到,除了sl go谷歌搜索。未来可能会帮助找到行踪。 – Ian