【问题标题】:C# - How to set a value to a child of a field acquired by RefelctionsC# - 如何为反射获取的字段的子项设置值
【发布时间】:2021-04-16 23:36:01
【问题描述】:

所以,我有一些对象(各种类型),它们有另一个对象作为字段(也是各种类型)。并且这些对象有一个浮动字段。我如何设置最后一个,因为我没有反射所需的“中间”对象?

我是这样理解的:

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

我的问题来了:

field.SetValue(object_that_i_dont_have, float_value);

【问题讨论】:

    标签: c# oop reflection field


    【解决方案1】:
    FieldInfo bfield = foo.GetType().GetField(name1);
    FieldInfo field = bfield.FieldType.GetField(name2);
    object bar = bfield.GetValue(foo);
    field.SetValue(bar, float_value);
    

    【讨论】:

    • 非常感谢,并没有我最初想的那么难。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多