Защищенные внутренние свойства против защищенных свойств и Resharper

Я только что взял Resharper и начал преобразовывать поля в свойства. Я хочу, чтобы эти свойства были защищены, но Resharper не хочет давать мне такую ​​возможность. Вместо этого есть только вариант Protected Internal. Это заставляет меня задуматься. Либо где-то есть правило, согласно которому свойства всегда должны быть «защищены внутренними», а не просто «защищенными». Или я просто не умею пользоваться решарпером. Что это?

Обновление: связались с Jetbrains сами, и они определили это поведение как ошибку и создали отчет об ошибке. Ответ Марка по существу верен в отношении использования «защищенного внутреннего», поэтому он получает галочку.


person Steve Mc    schedule 03.07.2010    source источник
comment
Вы объявили класс публичным? По умолчанию внутренний. Объявление свойств внутреннего класса как внутреннего довольно глупо, для этого требуется инструмент рефакторинга, когда вы выполняете рефакторинг, чтобы сделать класс общедоступным. Хотя это гарантирует, что вы перейдете с демо-версии на розничную версию.   -  person Hans Passant    schedule 03.07.2010
comment
Да - класс был объявлен общедоступным. Фактически, этого не было в начале, но я создал тестовый проект только с классом и намеренно объявил его общедоступным. У меня все еще та же проблема.   -  person Steve Mc    schedule 21.07.2010


Ответы (1)


Какие поля на данный момент? public? Интересно, есть ли у вас какой-то код в других типах, который уже затрагивает свойства и, таким образом, сломался бы, если бы они были просто protected. Я не знаю, как resharper относится к этому, но нет необходимости (и даже особенно часто) делать вещи protected internal, поэтому protected должно быть разумным вариантом.

person Marc Gravell    schedule 03.07.2010
comment
Поля были защищены с самого начала, и код отлично компилируется со свойствами, как только что защищенными - person Steve Mc; 03.07.2010