风平浪静

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

今天在程序开发中想利用反射技术动态执行类的方法,开始一些方法的动态执行都没什么问题。可程序中有些重载方法需要传入ref或者out参数类型,此时发现反射方法能正确执行,可执行的结果确不能在refout的参数中体现,参数的值还是方法动态执行前的内容,根本就没有改变,不知道什么原因?很是郁闷,不知道问题出在那里?

  下面是我的动态执行的核心部分,希望大家给出解决方法:

_methodInfo = _type.GetMethod(方法名称);

_methodInfo.Invoke(_obj,new object[]{data,str});

上面代码:_obj_type的实例对象,DataStr组成的数组,是方法执行需要的参数,Data调用前传入的是null,其中dataout型参数。按理说,执行后,会返回结果,可最后还是null。我google了,说GetMethod时需要使用ParameterModifier这个参数,可还是没有反应,不知道是不是我使用的方法不当,希望高手出来指点一下?

posted on 2006-07-10 01:12  风平浪静  阅读(1590)  评论(3编辑  收藏  举报