2013-08-07 95 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