Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-如何设置引用获取的字段的子项的值_C#_Oop_Reflection_Field - Fatal编程技术网

C#-如何设置引用获取的字段的子项的值

C#-如何设置引用获取的字段的子项的值,c#,oop,reflection,field,C#,Oop,Reflection,Field,因此,我有一些对象(各种类型),它们有另一个对象作为字段(也有各种类型)。物体有一个浮动场。既然我没有反射所需的“中间”对象,我如何设置最后一个 我是这样理解的: FieldInfo-field=foo.GetType().GetField(name1.FieldType.GetField(name2) 我的问题来了: field.SetValue(没有的对象,浮点值)非常感谢,这并不像我最初想象的那么难。 FieldInfo bfield = foo.GetType().GetField(na

因此,我有一些对象(各种类型),它们有另一个对象作为字段(也有各种类型)。物体有一个浮动场。既然我没有反射所需的“中间”对象,我如何设置最后一个

我是这样理解的:

FieldInfo-field=foo.GetType().GetField(name1.FieldType.GetField(name2)

我的问题来了:


field.SetValue(没有的对象,浮点值)

非常感谢,这并不像我最初想象的那么难。
FieldInfo bfield = foo.GetType().GetField(name1);
FieldInfo field = bfield.FieldType.GetField(name2);
object bar = bfield.GetValue(foo);
field.SetValue(bar, float_value);