我不明白为什么我们不能序列化从接口派生的具体类。具体类的属性仍然是已知的!为什么我们不能序列化从接口派生的具体类?
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