日期:2014-05-17  浏览次数:20895 次

反射 赋值
承接话题:http://bbs.csdn.net/topics/390305094
反射的动态类,取某字段的值,可以用以下方法取到姓名:
 myDynamicType.InvokeMember("name", BindingFlags.InvokeMethod, null, DynamicObj, new object[0]);
请问:给某字段该怎么赋值?
------最佳解决方案--------------------
f1.GetType().GetField(TargetField).SetValue(f1, this.textBox1.Text);
如果是属性的话用:f1.GetType().GetProperty
------其他解决方案--------------------
谢谢您!
如果不是动态类,这样反射会成功的。我原来也是这么认为的。
但是在动态类,运行后提示:未将对象引用设置到对象的实例
------其他解决方案--------------------
引用:
f1.GetType().GetField(TargetField).SetValue(f1, this.textBox1.Text);
如果是属性的话用:f1.GetType().GetProperty


谢谢您!可以了,是我自己把字段名弄错了。