Reputation: 1837
How can I get all the public methods of class using reflection when class name is passed as a string as shown in the below method. ?
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;
}
Please help. Thanks
Upvotes: 52
Views: 72099
Reputation:
MethodInfo[] methodInfos = Type.GetType(selectedObjcClass)
.GetMethods(BindingFlags.Public | BindingFlags.Instance);
Upvotes: 81
Reputation: 460038
// 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)
Upvotes: 13