public class EventObject
{
  public string Test(string a)
  {
    string ss = a.ToString()+ "test";
    return ss;
  }
}如上面的类,我如何调用Test的方法??
请给出源码好吗?MSDN里的帮助我已看过,但不知道为什么总是出错???TKS

解决方案 »

  1.   

    EventObject eo=new EventObject();
    System.Reflection.MethodInfo mi=eo.GetType().GetMethod("Test");
    Console.WriteLine(mi.Invoke(eo,new string[]{"a"}));
      

  2.   

    我是想用以下的方法
    Type t = Typeof(EventObject)
    string a = t.InvokeMember(....)
    能告诉我这两种有什么不同吗??TKS
      

  3.   

    还在吗??假设我还有一个类
    public class EventObject1
    {
      public string Test(string a)
      {
        string ss = a.ToString()+ "test";
        return ss;
      }
    }
    里面有同样的方法
    我想通过变量得到类名,然后动态的去调用Test方法.Test方法的参数相同,输出相同.
    请高手有帮忙~~TKS
      

  4.   

    Type t = Typeof(EventObject);
    //初始化EventObject的实例
    object o=t.InvokeMember("",BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance,null,null,null);
    object[] obj=new object[]{"aa"};
    string a=(string)t.InvokeMember("Test",BindingFlags.InvokeMethod,null,o,obj);
      

  5.   

    你实例化EventObject后获得o,你可以改变o中任何Public的成员或方法等!操作非常方便!!因为你的Test函数不是Static的,所以必须先实例化先!这个便是实例化此类!
    object o=t.InvokeMember("",BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance,null,null,null);