Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Я увижу только тебя Добавлено: 28.02.10 19:09  

Автор вопроса:  VβÐUηìt | Web-сайт: смекаешь.рф
Есть ли в C# промежуточная область видимости между Public и Private? То есть, свойство какого-либо класса доступно ему самому, а так же нескольким другим, и больше никому. Вроде бы на эту тему в C++ было словечко friend, а вот про C# я такого не нарыл. Что-нибуть там есть подобное?


Заранее благодарен.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #1 Добавлено: 28.02.10 20:38
Есть internal, тип будет доступен в пределах одной сборки.
Но учти, в дотнете почти всегда есть возможность обойти это ограничение через Reflection, и создать экземпляр класса, к которому нет прямого доступа. А также вызывать методы и обращаться к свойствам и полям, к которым также нет доступа

Ответить

Номер ответа: 2
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #2
Добавлено: 28.02.10 21:51
protected: Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.

Ответить

Номер ответа: 3
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #3
Добавлено: 28.02.10 23:05
Про эти оба расты я в курсе, мне бы видимость расширить. Неужели они не предусмотрели передачу данных между определенными классами.
сегда есть возможность обойти это ограничение через Reflection

Ну как бы мне не жалко :) Главная цель - убрать лишнюю гадость из видимости, чтобы не сбивать людей с толку. А тут он в ядро классу залез, поменял что-то и все вылетело нахер.

Тобишь через наследование?

Ответить

Номер ответа: 4
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #4
Добавлено: 28.02.10 23:05
Хотя стоп, один класс не может обратиться к protected-свойству другого класса, даже если они одного рода, или я не прав?

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 02.03.10 00:37
Почитай про области видимости в .NET, и вообще о наследовании в документации, и многое станет понятным.

Выбор общего наследника только для того, что ограничить область видимости некоторых членов типа - неверное решение, так как наследование предназначено для других целей.

Как наиболее правильно организовать архитектуру того что ты хочешь, можно сказать, если ты подробно опишешь какие методы ты собираешься скрывать и для чего.

Ответить

Номер ответа: 6
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #6 Добавлено: 02.03.10 08:00
Как наиболее правильно организовать архитектуру того что ты хочешь, можно сказать, если ты подробно опишешь какие методы ты собираешься скрывать и для чего.


А Фаулер, случайно, не твой творческий псевдоним..?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам