如果可能的话,我如何根据字符串检查一个类是否存在,如果该类确实存在,则获取该对象的新实例。
我这里有这个方法来检查一个对象是否有方法。
public static bool HasMethod(object objectToCheck, string methodName)
{
Type type = objectToCheck.GetType();
return type.GetMethod(methodName) != null;
}
那么在那之后我怎么能检查一个方法所采用的参数呢?
这一切都可能吗?
回答
获取课程:
public T GetInstance<T>(string namespace, string type)
{
return (T)Activator.CreateInstance(Type.GetType(namespace + "." + type));
}
获取方法:
public static bool HasMethod(object objectToCheck, string methodName)
{
Type type = objectToCheck.GetType();
return type.GetMethod(methodName) != null;
}
...
dynamic controller = GetInstance<dynamic>(controllerString);
if (HasMethod(controller, actionString))
{
controller.GetType().GetMethod(actionString);
}
获取参数
MethodInfo mi = type.GetMethod(methodName);
if (mi != null)
{
ParameterInfo[] parameters = mi.GetParameters();
// The parameters array will contain a list of all parameters
// that the method takes along with their type and name:
foreach (ParameterInfo parameter in parameters)
{
string parameterName = parameter.Name;
Type parameterType = parameter.ParameterType;
}
}