当前位置:编程学习 > C#/ASP.NET >>

关于“反射”的问题

//通过“反射”获取指定Static字段的值
FieldInfo fieldinfo = tt.GetField("fImageLogo", BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic);
Image image = (Image)fieldinfo.GetValue(null);

如何通过fieldinfo为Static字段设置相应的值呢? --------------------编程问答-------------------- 没有SetValue()吗 --------------------编程问答-------------------- SetValue()不起作用 --------------------编程问答-------------------- 此方法将 value 分配给此实例在 obj 对象上反映的字段。如果该字段是静态的,则将忽略 obj。对于非静态字段,obj 应是继承或声明该字段的类的实例。新值作为 Object 传递。例如,如果字段的类型为 Boolean,则传递带有相应 Boolean 值的 Object 的实例。在设置该值以前,SetValue 将检查用户是否有访问权限。此最终方法对于调用下列 SetValue 方法很方便。

--------------------编程问答-------------------- 刚试验了一下,通过SetValue(null,image;这句代码,是起作用的,但新添加的image并没有显示出来,不知道是什么原因。

我在更改Devexpress控件中ApplicationCaption的默认Logo,不知道有谁改过? --------------------编程问答-------------------- 自己搞定,哈哈 --------------------编程问答--------------------
引用 4 楼 jls 的回复:
刚试验了一下,通过SetValue(null,image;这句代码,是起作用的,但新添加的image并没有显示出来,不知道是什么原因。

我在更改Devexpress控件中ApplicationCaption的默认Logo,不知道有谁改过?

我觉得你应该把显示logo的那个类实例传入参数,而不是传null这样改静态字段 --------------------编程问答--------------------
引用 6 楼 bunliney 的回复:
引用 4 楼 jls 的回复:

刚试验了一下,通过SetValue(null,image;这句代码,是起作用的,但新添加的image并没有显示出来,不知道是什么原因。

我在更改Devexpress控件中ApplicationCaption的默认Logo,不知道有谁改过?

我觉得你应该把显示logo的那个类实例传入参数,而不是传null这样改静态字段

传入null是正确的,因为静态变量与实例无关。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,