2009-12-23 19 views
5

Aşağıdakileri çalıştırarak,Temsilci Bilgilerini almak için yansıma

Type t=typeof(someType); 

MemberInfo[] mInfo = t.GetMethods(); 

yöntemleriyle ilgili bilgileri alabilirim Bir tür içinde bildirilen delegeler hakkında bilgi nasıl edinilir?

cevap

14

Çağrı Type.GetNestedTypes iç içe türü almak ve bir temsilci (onlar System.MulticastDelegate devralan olmadığını kontrol edin) kalarak bunları filtrelemek için:

static IEnumerable<Type> GetNestedDelegates(Type type) 
{ 
    return type.GetNestedTypes(BindingFlags.Public | BindingFlags.NonPublic) 
       .Where(t => t.BaseType == typeof(MulticastDelegate)); 
}