日期:2014-05-19  浏览次数:20827 次

是不是反射a,不会用
知道类名的字符串,如何使用类的方法

如class   AAA   {   静态方法aaa}
知道了 "AAA "   如何调用aaa

------解决方案--------------------
MethodInfo
------解决方案--------------------
反射。
先取得到类型,然后取方法,然后运行……
------解决方案--------------------
public object MInvoke(object source,string methodname)
{
// 先拿到类型
Type type = source.GetType();
// 然后取方法
MethodInfo method = type.GetMethod(methodname);
// 构建参数,假设有2个
object[] objects = new object[2];
// 赋值
objects[0] = xxx; objects[1] = xxx;
// 调用
object result = method.Invoke(source, objects);
return result;
}
------解决方案--------------------
method.Invoke
------解决方案--------------------
Type t = Type.GetType( "namespace.AAA ");
MethodInfo method = t.GetMethod( "aaa ");
method.Invoke(null, new object[0]);