Как реализовать свойство только для чтения

Мне нужно реализовать свойство только для чтения на моем типе. Более того, значение этого свойства будет установлено в конструкторе и не будет изменено (я пишу класс, который предоставляет настраиваемые перенаправленные команды пользовательского интерфейса для WPF, но это не имеет значения).

Я вижу два способа сделать это:

  1.  класс MyClass
    {
     общедоступный объект только для чтения MyProperty = новый объект ();
    }
    
  2.  класс MyClass
    {
     частный объект только для чтения my_property = new object ();
    публичный объект MyProperty {get {return my_property; }}
    }
    

Со всеми этими ошибками FxCop, говорящими о том, что мне не следует иметь общедоступные переменные-члены, кажется, что вторая - правильный способ сделать это. Верно?

Есть ли разница между свойством только для чтения и членом только для чтения в этом случае?

Буду признателен за любые комментарии, советы и т. Д.

73
задан shA.t 19 September 2017 в 12:18
поделиться