ограничение доступа к public методу класса
От: sadomovalex Россия http://sadomovalex.blogspot.com
Дата: 02.02.06 07:55
Оценка:
привет всем
такой вопрос: как в .Net ограничить доступ к открытому методу класса, открыв его только некоторым классам (все в пределах одной сборки)? на C++ я бы сделал напр. так
Автор: MaximE
Дата: 23.03.04
"Что не завершено, не сделано вовсе" Гаусс
Re: ограничение доступа к public методу класса
От: freed Австралия  
Дата: 02.02.06 07:58
Оценка:
internal?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: ограничение доступа к public методу класса
От: Sanych-sun Украина  
Дата: 02.02.06 08:23
Оценка:
Здравствуйте, sadomovalex, Вы писали:

Очень просто для функции надо указать модификатор доступа Internal:


public class MyClass
{
 internal void MyFunc()
 {}
}
Re: ограничение доступа к public методу класса
От: Пух Украина  
Дата: 02.02.06 08:54
Оценка: 11 (2)
Здравствуйте, sadomovalex, Вы писали:

S>привет всем

S>такой вопрос: как в .Net ограничить доступ к открытому методу класса, открыв его только некоторым классам (все в пределах одной сборки)? на C++ я бы сделал напр. так
Автор: MaximE
Дата: 23.03.04


Если internal не подходит, то вот единственный вариант, который я встречал: http://rsdn.ru/Forum/Message.aspx?mid=786007&amp;only=1
Автор: SiAVoL
Дата: 30.08.04
Re[2]: ограничение доступа к public методу класса
От: sadomovalex Россия http://sadomovalex.blogspot.com
Дата: 02.02.06 09:04
Оценка:
Здравствуйте, freed, Вы писали:

F>internal?

internal дает доступ всем классам в определяющей сборке, а мне нужен доступ только для некоторых классов в этой сборке
"Что не завершено, не сделано вовсе" Гаусс
Re[2]: ограничение доступа к public методу класса
От: SiAVoL Россия  
Дата: 02.02.06 09:38
Оценка:
Здравствуйте, Пух, Вы писали:

Пух>Если internal не подходит, то вот единственный вариант, который я встречал: http://rsdn.ru/Forum/Message.aspx?mid=786007&amp;only=1
Автор: SiAVoL
Дата: 30.08.04

а я думал было припомнить свои маленькие эксперименты, но решил что лучше сходить пообедать
Но вообще говоря, рассмотренный там подход мало пригоден для так сказать построения "правильного дизайна" приложения. Одно то что это рантайм проверки уже сильно сужает его пригодность. Мне вообще не приходит в голову ни одной мысли где действительно было бы к месту применение такого решения

ЗЫ: но написать его было интересно
... << RSDN@Home 1.2.0 alpha rev. 569>>
Re[3]: ограничение доступа к public методу класса
От: Пух Украина  
Дата: 02.02.06 09:57
Оценка:
Здравствуйте, SiAVoL, Вы писали:

SAV>Но вообще говоря, рассмотренный там подход мало пригоден для так сказать построения "правильного дизайна" приложения. Одно то что это рантайм проверки уже сильно сужает его пригодность. Мне вообще не приходит в голову ни одной мысли где действительно было бы к месту применение такого решения


Не знаю... Я почему-то его запомнил. Пока не пригодилось, но помню, что оно есть
Re[3]: ограничение доступа к public методу класса
От: sadomovalex Россия http://sadomovalex.blogspot.com
Дата: 02.02.06 10:48
Оценка:
Здравствуйте, SiAVoL, Вы писали:

SAV>а я думал было припомнить свои маленькие эксперименты, но решил что лучше сходить пообедать

SAV>Но вообще говоря, рассмотренный там подход мало пригоден для так сказать построения "правильного дизайна" приложения. Одно то что это рантайм проверки уже сильно сужает его пригодность. Мне вообще не приходит в голову ни одной мысли где действительно было бы к месту применение такого решения

значит в compile time подходящего решения нет?
"Что не завершено, не сделано вовсе" Гаусс
Re[4]: ограничение доступа к public методу класса
От: SiAVoL Россия  
Дата: 02.02.06 10:56
Оценка:
Здравствуйте, sadomovalex, Вы писали:

S>значит в compile time подходящего решения нет?

если все классы в пределах одной сборки, то internal
если не все классы в пределах одной сборки, то public или еще в .NET 2 есть атрибут InternalsVisibleToAttribute
... << RSDN@Home 1.2.0 alpha rev. 569>>
Re: ограничение доступа к public методу класса
От: Lloyd Россия  
Дата: 02.02.06 11:11
Оценка:
Здравствуйте, sadomovalex, Вы писали:

S>привет всем

S>такой вопрос: как в .Net ограничить доступ к открытому методу класса, открыв его только некоторым классам (все в пределах одной сборки)? на C++ я бы сделал напр. так
Автор: MaximE
Дата: 23.03.04


Написать FxCop rule, который будет проверять, что к методу "стучатся" только из "правильных" классов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.