Страница: 1 |
Вопрос: Я увижу только тебя | Добавлено: 28.02.10 19:09 |
Автор вопроса: ![]() |
Есть ли в C# промежуточная область видимости между Public и Private? То есть, свойство какого-либо класса доступно ему самому, а так же нескольким другим, и больше никому. Вроде бы на эту тему в C++ было словечко friend, а вот про C# я такого не нарыл. Что-нибуть там есть подобное?
Заранее благодарен. |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #1 | Добавлено: 28.02.10 20:38 |
Есть internal, тип будет доступен в пределах одной сборки.
Но учти, в дотнете почти всегда есть возможность обойти это ограничение через Reflection, и создать экземпляр класса, к которому нет прямого доступа. А также вызывать методы и обращаться к свойствам и полям, к которым также нет доступа |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 300-70-6пятьЪ Вопросов: 62 Ответов: 545 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 28.02.10 21:51 |
protected: Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 28.02.10 23:05 |
Про эти оба расты я в курсе, мне бы видимость расширить. Неужели они не предусмотрели передачу данных между определенными классами.
сегда есть возможность обойти это ограничение через Reflection
Ну как бы мне не жалко ![]() Тобишь через наследование? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 28.02.10 23:05 |
Хотя стоп, один класс не может обратиться к protected-свойству другого класса, даже если они одного рода, или я не прав? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #5 | Добавлено: 02.03.10 00:37 |
Почитай про области видимости в .NET, и вообще о наследовании в документации, и многое станет понятным.
Выбор общего наследника только для того, что ограничить область видимости некоторых членов типа - неверное решение, так как наследование предназначено для других целей. Как наиболее правильно организовать архитектуру того что ты хочешь, можно сказать, если ты подробно опишешь какие методы ты собираешься скрывать и для чего. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #6 | Добавлено: 02.03.10 08:00 |
Как наиболее правильно организовать архитектуру того что ты хочешь, можно сказать, если ты подробно опишешь какие методы ты собираешься скрывать и для чего.
А Фаулер, случайно, не твой творческий псевдоним..? |
Страница: 1 |
|