首页 新闻 搜索 专区 学院

c# 反射问题 Invoke

-1
悬赏园豆:15 [已解决问题] 解决于 2013-05-01 09:32

public StringBuilder Buffer = new StringBuilder();

var t = this.GetType().GetMethod(“Edit”); object obj =

Activator.CreateInstance(this.GetType());

t.Invoke(obj, null);

Response.Write(Buffer );

 public voidEdit(){

Buffer.AppendHtml("这个是返回值");
         }

请问 为什么我调用了Edit方法之后 Buferr的值应该是"这个是返回值" ,但是他为什么是空呢?

但是我调试的时候明明进到了Edit方法 也把值给了Buffer

xiaohai22的主页 xiaohai22 | 初学一级 | 园豆:189
提问于:2013-04-30 17:40
< >
分享
最佳答案
0

t.Invoke(obj,null);改为t.Invoke(this,null);顺便把obj=xxx这句删掉。

收获园豆:15
dax.net | 初学一级 |园豆:180 | 2013-04-30 19:46

因为你的t.Invoke方法调用的是obj对象中的Edit方法,而不是当前对象的Edit方法,所以你当前对象的Buffer中始终是空的。

dax.net | 园豆:180 (初学一级) | 2013-04-30 19:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册