C#如何获取方法以及动态调用方法

来源:互联网 发布:php张恩民 编辑:程序博客网 时间:2024/06/04 21:15
namespace  TestSpace{      public  class  TestClass  {          private  string  _value;          public  TestClass()  {          }          public  TestClass(string  value)  {                _value  =  value;          }          public  string  GetValue(  string  prefix  )  {          if(  _value==null  )          return  "NULL";          else            return  prefix+"  :  "+_value;            }            public  string  Value  {set  {_value=value;}get  {if(  _value==null  )return  "NULL";elsereturn  _value;}            }      }}

//获取类型信息Type  t  =  Type.GetType("TestSpace.TestClass");//构造器的参数object[]  constuctParms  =  new  object[]{"timmy"};//根据类型创建对象object  dObj  =  Activator.CreateInstance(t,constuctParms);//获取方法的信息MethodInfo  method  =  t.GetMethod("GetValue");//调用方法的一些标志位,这里的含义是Public并且是实例方法,这也是默认的值BindingFlags  flag  =  BindingFlags.Public  |  BindingFlags.Instance;//GetValue方法的参数object[]  parameters  =  new  object[]{"Hello"};//调用方法,用一个object接收返回值object  returnValue  =  method.Invoke(dObj,flag,Type.DefaultBinder,parameters,null);

0 0
原创粉丝点击