2011-03-29 20 views
28

Sınıf adı, aşağıdaki yöntemde gösterildiği gibi bir dize olarak geçirildiğinde yansıma kullanarak tüm genel sınıf yöntemlerini nasıl edinebilirim? ? Yansımayı kullanarak sınıf yöntemlerini kullanın

private MethodInfo[] GetObjectMethods(string selectedObjClass) 
{ 
    MethodInfo[] methodInfos; 
    Assembly assembly = Assembly.GetAssembly(typeof(sampleAdapater)); 
    Type _type = assembly.GetType("SampleSolution.Data.MyData." + selectedObjClass); 

    ///get all the methods for the classname passed as string 

    return methodInfos; 

} 

yardım edin. Teşekkür

cevap

42
MethodInfo[] methodInfos = Type.GetType(selectedObjcClass) 
          .GetMethods(BindingFlags.Public | BindingFlags.Instance); 
7
// get all public static methods of given type(public would suffer in your case, only to show how you could other BindingFlags) 
MethodInfo[] methodInfos = _type.GetMethods(BindingFlags.Public | BindingFlags.Static); 

Type.GetMethods Method (BindingFlags)

İlgili konular