我需要創建一個類Serializable。 在這個類中,我有一個MyGuid只讀屬性,我想要可序列化但不能反序列化(屬性在後臺字段中初始化)。 使用基本序列化.NET功能,你知道,有一個reandonly屬性使反序列化失敗,因爲它不能反序列化只讀屬性。 所以我決定創建一個具有支持字段公衆獲取設置MyGuid財產,並制定者無可奈何:使用空屬性設置器時引發Visual Studio警告
[Serializable]
public class Task : ITask
{
private readonly Guid m_guid = Guid.NewGuid();
public MyGuid Guid
{
get { return m_guid; }
set { /*Empty setter!*/ }
}
}
現在,我不希望在我的腳拍...... 有一種方法我可以使MyGuid屬性的setter爲「deprecable」或「disabled」? 如果我嘗試使用setter,那麼Visual Studio會警告我會很好。
或者,相反,有更好的方法來管理這種需求?
謝謝!
編輯:找到的東西在這裏:Serializing private member data我在讀......
如果您不打算對其進行反序列化,爲什麼要將其串行化?你可以使用屬性上的[NonSerialized]或者'System.Xml.Serialization.XmlIgnore]屬性嗎? – 2011-05-26 10:31:15