问候,
我有一个可以从文件构造的特定对象,例如:
public class ConfigObj
{
public ConfigObj(string loadPath)
{
//load object using .Net's supplied Serialization library
//resulting in a ConfigObj object
ConfigObj deserializedObj = VoodooLoadFunction(loadpath);
//the line below won't compile
this = thisIsMyObj;
}
}
从本质上讲,我想说“好的,现在我们刚刚反序列化了这个对象,这就是我们实际上的对象。” 有几种方法可以做到这一点,我想知道哪种方法被认为是最佳实践。我的想法是:
- 构建一个 copy-into-me 函数,逐个字段复制对象。这是当前的实现,我很确定这是一个可怕的想法,因为每当将新成员添加到对象时,我还需要记住将其添加到“复制到我”功能中,并且没有办法可以维护.
- 为 ConfigObj 类构建一个静态方法,该方法充当加载对象的事实上的构造函数。这听起来好多了,但不是最佳实践。
不过,我对两者中的任何一个都不完全满意。这里公认的最佳实践是什么?