我不明白爲什麼我們不能序列化從接口派生的具體類。具體類的屬性仍然是已知的!爲什麼我們不能序列化從接口派生的具體類?
public interface IThing
{
string Name { get; }
}
[XmlRoot]
public class RealThing : IThing
{
[XmlAttribute]
public string Name { get { return "Real Thing"; } set{ /* Do something. */ } }
}
我已經告訴了XmlSerializer
如何處理實現的屬性做,爲什麼這樣不行?爲什麼XmlSerializer
甚至會看界面?
我已經做了大量的可序列化的類,現在正在運行。過去我所做的數百個可序列化類中是否可能實現了一個接口?
唯一的錯誤我與該類得到的是,這是不公開。你有什麼具體的錯誤嗎? – 2011-04-07 20:01:04
反正有什麼錯誤?我只是運行這個代碼並按預期工作。 (Name屬性不會被序列化,因爲它沒有setter) – 2011-04-07 20:08:23
它看起來像我忽略了在我的問題中包含最重要的細節 - 這是RealThing實際上是列表,IThing - 這是問題現在很明顯。請忽略! –
2011-04-07 20:16:50