Отражение для получения информации о делегате - PullRequest
6 голосов
/ 23 декабря 2009

Выполнив следующее, я могу получить информацию о методах

Type t=typeof(someType);

MemberInfo[] mInfo = t.GetMethods();

как получить информацию о делегатах, объявленных внутри типа?

1 Ответ

15 голосов
/ 23 декабря 2009

Вызовите Type.GetNestedTypes, чтобы получить вложенные типы и отфильтровать их, будучи делегатом (проверьте, наследуются ли они от System.MulticastDelegate):

static IEnumerable<Type> GetNestedDelegates(Type type)
{
    return type.GetNestedTypes(BindingFlags.Public | BindingFlags.NonPublic)
               .Where(t => t.BaseType == typeof(MulticastDelegate));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...