Protected internal
Автор Kirill ♂ задал вопрос в разделе Другие языки и технологии
C# protected internal (объсните) (внутри) и получил лучший ответ
Ответ от PlasmaBall[эксперт]
Модификаторы protected и internal связываются логическим или, то есть запись с ними следует читать, как protected [OR] internal,поэтому выходит, что вне сборки этот метод экземпляра класса вызывать нельзя, но наследникам класса в другой сборке — можно :)Получается, что определив protected internal метод мы можем: — внутри сборки вызывать его как из классов-наследников, так и у экземпляра класса — вне сборки только у наследников
Ответ от Ѐома Линдерман[гуру]
а ты знаешь что обозначает protected ?
а ты знаешь что обозначает protected ?
Ответ от Globe[гуру]
Собственно, как без ссылок? Вот тут:
серым по белому написано, что:
a) protected - доступ ограничен классом и его производными
б) internal - доступ ограничен сборкой
в) protected internal - доступ ограничен сборкой или производными
Соответственно:
используя только а) вы не получите доступ к методу в соседнем классе той же сборки.
используя только б) вы не получите доступ к методу в производном классе, объявленном в другой сборке.
Собственно, как без ссылок? Вот тут:
серым по белому написано, что:
a) protected - доступ ограничен классом и его производными
б) internal - доступ ограничен сборкой
в) protected internal - доступ ограничен сборкой или производными
Соответственно:
используя только а) вы не получите доступ к методу в соседнем классе той же сборки.
используя только б) вы не получите доступ к методу в производном классе, объявленном в другой сборке.
Ответ от IRQ[гуру]
Ну нельзя же так тупить. Protected - элемент доступен только наследникам. Internal - всем в пределах сборки. Что это за бред " А что если в другой сборке будет написанно просто протектед, элемент не будет доступен для другой сборки? "? В другой сборке другие классы и их члены. А тот который уже скомпилнен как prtotected internal так и останется таким. Причём здесь другие сборки???
Ну нельзя же так тупить. Protected - элемент доступен только наследникам. Internal - всем в пределах сборки. Что это за бред " А что если в другой сборке будет написанно просто протектед, элемент не будет доступен для другой сборки? "? В другой сборке другие классы и их члены. А тот который уже скомпилнен как prtotected internal так и останется таким. Причём здесь другие сборки???
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: C# protected internal (объсните) (внутри)