К какому классу относится обьект, вЫзЫвающий метод
От: oldbam  
Дата: 28.05.07 12:56
Оценка:
Можно ли в runtime проверить, к какому классу относится обьект, что вЫзвал даннЫй метод.
Мне нужно следующее:

class C
{
public void OnlyOneClassCanCall
{
if (caller class is instance of bla-bla-bla) {
doSomething();
}else return;
}
}


Как такое сделать?
Спасибо
Re: К какому классу относится обьект, вЫзЫвающий метод
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.05.07 13:38
Оценка: +1
Здравствуйте, oldbam, Вы писали:

O>Как такое сделать?


new StackFrame(1).GetMethod().DeclaringType


И пометить метод атрибутом [MethodImpl(MethodImplOptions.NoInlining)]
... << RSDN@Home 1.2.0 alpha rev. 675>>
AVK Blog
Re: К какому классу относится обьект, вЫзЫвающий метод
От: mms_ex  
Дата: 28.05.07 13:50
Оценка:
Здравствуйте, oldbam, Вы писали:

O>Можно ли в runtime проверить, к какому классу относится обьект, что вЫзвал даннЫй метод.

O>Мне нужно следующее:

O>
O>class C
O>{
O>public void OnlyOneClassCanCall
O>{
O>if (caller class is instance of bla-bla-bla) {
O>doSomething();
O>}else return;
O>}
O>}
O>


O>Как такое сделать?

O>Спасибо


MethodBase.GetCurrentMethod().DeclaringType
Re[2]: К какому классу относится обьект, вЫзЫвающий метод
От: Lloyd Россия  
Дата: 28.05.07 14:51
Оценка: +1
Здравствуйте, mms_ex, Вы писали:

_>
_>MethodBase.GetCurrentMethod().DeclaringType
_>


Это скорее не caller, а callee.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.