【发布时间】:2011-06-18 20:48:33
【问题描述】:
我尝试使用XDocument (XML Linq) 来保存和加载类。为此,我有两种方法:
static MyClass FromXml(XElement data); //calls 0-parameter constructor inside
public XElement ToXml();
这样的构造函数
public MyClass(XElement data)
{
this = MyClass.FromXml(data);
}
不起作用(说这是只读的)。
这可以以某种方式完成(无需从返回值手动创建复制每个字段)吗?
还是这个想法是错误的?
将代码从FromXml 移动到构造函数应该可以,但是保存和加载将在两个地方,或者构造函数不会都在一个地方......
【问题讨论】:
-
也许您可以将构造函数中的数据加载到
MyClass类型的临时变量中,然后像这里描述的那样执行值复制:stackoverflow.com/questions/3610891/… -
忘掉那个ctor,直接使用FromXml()吧。
标签: c# constructor static-methods