я, вероятно, не рекомендую устанавливать все свойства на фиксированное значение, кроме нулевого ... В частности, как возможно, наивно предположить, что все ваши свойства довольны этим состоянием по умолчанию и тем более, что пользователи вашего класса, скорее всего, будут ожидать нулевого (или, точнее, default(T)
) вместо неизвестного значения.
Как предложение, если это так, чтобы показать «?» в пользовательском интерфейсе, когда конкретные значения еще не известны, возможно, вы можете использовать соответствующие классы привязки в рамках.
Например, winforms Класс привязки имеет свойство «NullValue», которое будет передано в свойство связанного элемента управления, когда источник данных имеет значение NULL или DbNull.Value.
Но если вы действительно хотите пойти по пути, о котором вы просили, то, как было предложено выше, Type.GetProperties()
должен сделать трюк.Убедитесь, что вы рассматриваете случаи унаследованных, абстрактных, переопределенных или виртуальных свойств и подходит ли значение по умолчанию - особенно в свете того, что норма установлена / оставляет значение null/default (T), когда вы этого не делаете фактически имеют известную ценность.
Зачем вы хотите это сделать? Ваш ответ на это сильно влияет на ответ. – Gabe
У меня есть класс со многими свойствами, которые должны иметь одно и то же значение по умолчанию, но после прочтения ответов и размышлений о нем было бы намного проще установить значения по умолчанию в конструкторе по одному свойству за раз. – etoisarobot