Как создать конструктор, который будет использоваться только конкретным классом. (C ++ Friend эквивалент в c #) - PullRequest
11 голосов
/ 07 января 2010

Насколько я знаю, в C # нет поддержки ключевого слова "друг", как в C ++. Есть ли альтернативный способ разработки класса, который мог бы достичь такого же конечного результата, не прибегая к недоступному ключевому слову «друг»?

Для тех, кто еще не знает, ключевое слово Friend позволяет программисту указать, что член класса "X" может быть доступен и использоваться только классом "Y". Но любому другому классу член кажется закрытым, поэтому к ним нельзя получить доступ. Класс "Y" не должен наследоваться от класса "X".

Ответы [ 11 ]

0 голосов
/ 07 января 2010

Вы можете получить доступ к закрытым членам / методам, используя Reflection.

Поскольку у него есть тег design, мне никогда особенно не нравилось ключевое слово friend. Он пробивает капсулирование, и это всегда мне казалось грязным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...