У меня есть тип с 40 свойствами (все типы значений), которые представляют собой тип транзакции для моей компании. Экземпляр этого класса соответствует строке в моей базе данных. Я хотел бы сохранить мой класс неизменным, так как он будет использоваться только для операций чтения, но я не уверен, как начать настройку 40 свойств во время инициализации.Как создать экземпляр большого неизменяемого типа?
Обычно я использую инициализацию конструктора для неизменяемых типов, но я хотел бы избежать написания конструктора с 40 параметрами. Установки для моих свойств в настоящее время являются частными, хотя я готов изменить с достаточной долей. Есть ли общий способ справиться с этой ситуацией или лучше подойти к проблеме?
Можете ли вы просто иметь ctor, который проходит в строке (однако у вас есть это, DataRow, или хеш-таблица, или linq-объект или что-то еще), и он снимает значения столбца и устанавливает каждый из них? (this.Col1 = foo.Col1, repeat)? –
Мне обычно не нравится добавлять заводские функции, которые принимают определенные инициализаторы. Он может отлично работать для одного решения для хранения данных, но если вам когда-либо придется переносить другое решение для хранения данных, это создает много дополнительных функций и бесполезных функций для ваших типов. –