本帖最后由 fantasy79676578 于 2011-04-28 11:18:08 编辑

解决方案 »

  1.   

    方法名和参数需要自己拆。你还得知道abc是哪个命名空间的哪个类的方法,
    这个方法是静态的还是instance的。class Program
    {
        static void Main(string[] args)
        {
            var method = typeof(Program).GetMethod("Foo");
            var result = (string)method.Invoke(null, new object[] {"123"});
            Console.WriteLine(result);
            Console.Read();
        }    public static string Foo(string obj)
        {
            return obj;
        }
    }
      

  2.   

    十分感谢,就是这个,谢谢~太感谢了。我把命名空间和函数名自己拆然后在调用。还有一个小问题,请问如何传入2个参数呢,是这样写吗
     var result = (string)method.Invoke(null, new object[] {"123","456"});
      

  3.   


    对没错,注意method.Invoke(null, ...)第一个参数是null表示这是一个静态方法。