- 1
- 2
- 3
- 4
- 5
- 6
public class MainSetting
{
// ...
public void Load(out MainSetting objectToDeserialise) {...}
// ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+121
public class MainSetting
{
// ...
public void Load(out MainSetting objectToDeserialise) {...}
// ...
}
Использвоание: _mainSetting.Load(out _mainSetting);
Надо знать принципы ООП и поведения структурных типов и ссылочных типов.
А это говнокод. На худой конец можно сделать статический метод.
var setting = MainSetting.CreateInstance();
или делается синглтон.
public class MainSetting {
private MainSetting() { }
Int32 kokoko;
// Можно добавить параметры из которых будет строится объект
public static MainSetting Load() {
var objectToDeserialise = new MainSetting();
objectToDeserialise.kokoko = 1;
return objectToDeserialise;
}
}
// А использование аут параметра в методе экземпляра для создания объекта это тупизм.
конечно нет.
я лишь показывал, что без out в данном конкретном говнокодистом случае не хорошо.
твой вариант, тоже хреновенький.
_mainSetting.Load(out _mainSetting);
Нужно сначала создать класс, чтобы его потом десериализовать из потока.
В коде, до момента десериализации объект никак не используется.
Помимо этого в методе захардкожен путь к файлу и инициализация дефолтными значениями при любом исключении:
catch (Exception /*FileNotFoundException*/) но это уже не так интересно.