Я был слишком взволнован, когда инициализатор объекта появился на C#.C# объект инициализатор сложность. Лучшая практика
MyClass a = new MyClass();
a.Field1 = Value1;
a.Field2 = Value2;
можно переписать короче:
MyClass a = new MyClass { Field1 = Value1, Field2 = Value2 }
код инициализация объекта является более очевидным, но когда свойства номера приходят к дюжине и некоторые из сделок присваивания с обнуляемыми значениями трудно отлаживать, где «пустая ссылку ошибка "есть. Studio показывает весь инициализатор объекта как точку ошибки.
В настоящее время я использую инициализатор объектов для простого назначения только для безошибочных свойств.
Как вы используете инициализатор объектов для сложного назначения, или это плохая практика, чтобы использовать десятки настроек?
Заранее благодарю вас!
Обычно у меня такой код при работе с бизнес-объектами. Свойства заполняются из пользовательского интерфейса или поступают из разных таблиц. –
Я склонен не любить инициализаторы объектов в DAO, потому что вы обычно получаете поле от читателя, и часто есть что-то, что может пойти не так. Вы не получаете никакой безопасности компилятора. В этом случае вы не можете защитить себя единичным тестом, потому что это станет интеграционным тестом. У объектов из БД обычно есть несколько связанных с ними полей. Однако, если назначения тривиальны, я буду использовать инициализатор объекта. – uriDium