System.Reflection.MethodInfo info = System.Type.GetType("ClassName").GetMethod("MethodName" );
info.Invoke(...);

解决方案 »

  1.   

    try
    {
      GetData(); //函数存在
    }
    except
    {
     函数不存在
    }
      

  2.   

    光知道函数的名字是得不到方法的信息的,必须知道这个函数所在的类及这个类所在的程序集。也就是必须告知程序集的全名(FullName的格式)或者文件路径名,然后:
    Assembly ass = Assembly.Load(fullName);或者:
    Assembly ass = Assembly.LoadFrom(filename);//filename可以带路径。这个函数所在的类的名称typeName
    Type t = ass.GetType(typeName, false, true);然后函数的名称(如果函数有重载的话不能这样用,否则有异常):
    MethodInfo mi = t.GetMethod(methodname);判断函数是否存在:
    if (mi != null) {
    //存在
    }
      

  3.   

    雪狼的做法不成立.
    夕夕公主 的做法正确. 如果调用方法所在的类在同一个assembly里的话, 直接使用Type type = typeof(类)就可以了, 如果已经有类的实例, 直接用 [instance].Type 可以得到 type.