Привет,
У меня есть конкретный объект, который может быть построен из файла, например:
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-to-me, которая копирует объект по полю. Это текущая реализация, и я уверен, что это ужасная идея, поскольку всякий раз, когда новый объект добавляется к объекту, я также должен помнить, чтобы добавить его в функцию «копировать в меня», и нет никакого способа, который можно обслуживать. .
- Создание статического метода для класса ConfigObj, который де-факто является конструктором для загрузки объекта. Это звучит намного лучше, но не очень хорошо для практики.
Хотя я не совсем доволен одним из двух. Какова здесь признанная лучшая практика?