web-dev-qa-db-fra.com

Obtenez des méthodes de classe en utilisant la réflexion

Comment puis-je obtenir toutes les méthodes publiques de classe en utilisant la réflexion lorsque le nom de classe est passé sous forme de chaîne, comme indiqué dans la méthode ci-dessous. ?

 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;

 }

Veuillez aider. Merci

31
San
MethodInfo[] methodInfos = Type.GetType(selectedObjcClass) 
                           .GetMethods(BindingFlags.Public | BindingFlags.Instance);
49
anon
// 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);

Méthode Type.GetMethods (BindingFlags)

7
Tim Schmelter
2
archil