Mam więc kilka obiektów (różne typy), które mają inne obiekty jako pola (także różne typy). I że obiekty powiedzmy pole float. Jak mogę ustawić ostatni, ponieważ nie mam tego "środkowego" obiektu, który wymaga odbicia?

Dostaję to w ten sposób:

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

I tutaj pojawia się mój problem:

field.SetValue(object_that_i_dont_have, float_value);

1
Dawid Moza 17 kwiecień 2021, 02:36

1 odpowiedź

Najlepsza odpowiedź
FieldInfo bfield = foo.GetType().GetField(name1);
FieldInfo field = bfield.FieldType.GetField(name2);
object bar = bfield.GetValue(foo);
field.SetValue(bar, float_value);
2
Steve Harris 16 kwiecień 2021, 23:58