создание экземпляров класса, который имеет несколько свойств только для чтения - PullRequest
0 голосов
/ 24 мая 2011

Каков элегантный способ создания и инициализации экземпляров класса, который имеет несколько свойств только для чтения?Передача всех значений в конструкторе не очень удобна.

Цель состоит в том, чтобы экземпляры были неизменными после инициализации.Однако, если конструктор не используется для инициализации всех значений свойств, то как можно изменить свойства только для чтения из другого класса?

Ответы [ 2 ]

1 голос
/ 24 мая 2011

Они доступны только для чтения, поэтому их нельзя изменить после создания.Это поведение является заданным.

Если вы хотите уменьшить количество параметров, взгляните на Шаблон объекта параметров

0 голосов
/ 24 мая 2011

У вас есть два варианта

  1. Создать общедоступную подпрограмму для обновления переменных после инициализации или добавить обновление в другой раздел кода в частных методах класса.

  2. Вы используете отражение для обновления значения закрытых переменных.

Первый способ, безусловно, лучший вариант, секунды - это взлом.

...