Получить методы класса, используя отражение - PullRequest
31 голосов
/ 29 марта 2011

Как я могу получить все открытые методы класса, используя отражение, когда имя класса передается в виде строки, как показано в методе ниже.

 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;

 }

Пожалуйста, помогите. Спасибо

Ответы [ 3 ]

49 голосов
/ 29 марта 2011
MethodInfo[] methodInfos = Type.GetType(selectedObjcClass) 
                           .GetMethods(BindingFlags.Public | BindingFlags.Instance);
7 голосов
/ 29 марта 2011
// 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 (BindingFlags)

2 голосов
/ 29 марта 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...