3 回答

TA貢獻1803條經驗 獲得超3個贊
您可以使用System.Runtime.Serialization.NetDataContractSerializer。它功能更強大,并修復了經典Xml Serializer的某些問題。
請注意,此屬性有不同的屬性。
[DataContract]
public class X
{
[DataMember]
public Guid Id { get; private set; }
}
NetDataContractSerializer serializer = new NetDataContractSerializer();
TextWriter tw = new StreamWriter(_location);
serializer.Serialize(tw, obj);
編輯:
根據Marc的評論進行更新:您可能應該System.Runtime.Serialization.DataContractSerializer在案例中使用以獲得清晰的XML。其余代碼相同。

TA貢獻1796條經驗 獲得超4個贊
只讀字段不會使用進行序列化XmlSerializer,這是由于readonly關鍵字的性質
從MSDN:
該只讀關鍵字是修改,你可以在字段中使用。當字段聲明包含只讀修飾符時,對由該聲明引入的字段的賦值只能作為聲明的一部分或在同一類的構造函數中進行。
所以...您幾乎需要在默認構造函數中設置字段值...
- 3 回答
- 0 關注
- 390 瀏覽
添加回答
舉報