Почему NHibernate требует «защищенной внутренней» видимости для свойств auto?

Раньше можно было сопоставить автоматические свойства с частными сеттерами с NHibernate, но начиная с версии 3.2 это уже не так (не без замены валидатора объекта), см. обсуждение NH dev .

Я понимаю требование protected , но почему ] внутренний ? Это нарушает инкапсуляцию и просто кажется грязным.

Единственная альтернатива - возврат к полям поддержки?

ОБНОВЛЕНИЕ : Смущает, но правда, оказывается, внутренний не требуется. Таким образом, это выбор между возвратом к резервным полям или использованием защищенного установщика и либо избеганием установки значений в конструкторе, либо столкновением с риском трудно отслеживаемых ошибок . Спасибо Fabio и @Nexus за указание на мою ошибку.

5
задан Michael Teper 25 May 2011 в 16:43
поделиться