今天在程序开发中想利用反射技术动态执行类的方法,开始一些方法的动态执行都没什么问题。可程序中有些重载方法需要传入ref或者out参数类型,此时发现反射方法能正确执行,可执行的结果确不能在ref或out的参数中体现,参数的值还是方法动态执行前的内容,根本就没有改变,不知道什么原因?很是郁闷,不知道问题出在那里?
下面是我的动态执行的核心部分,希望大家给出解决方法:
_methodInfo = _type.GetMethod(“方法名称”);
_methodInfo.Invoke(_obj,new object[]{data,str});
上面代码:_obj是_type的实例对象,Data和Str组成的数组,是方法执行需要的参数,Data调用前传入的是null,其中data是out型参数。按理说,执行后,会返回结果,可最后还是null。我google了,说GetMethod时需要使用ParameterModifier这个参数,可还是没有反应,不知道是不是我使用的方法不当,希望高手出来指点一下?