我一直在 stackoverflow 上阅读如何使用反射写入类 var 成员。我使用类似的东西:
typeof(MyClass).GetField("myvar", BindingFlags.Public | BindingFlags.Instance).SetValue(instancie, 10);
这适用于类,但如果我在读取 myvar 时对 Struct 而不是类做同样的事情,我总是得到 0(int 的默认构造值)。这是我使用的代码:
struct MyStruct
{
public int myvar;
}
MyStruct instance=new MyStruct();
typeof(MyStruct).GetField("myvar", BindingFlags.Public | BindingFlags. BindingFlags.Instance).SetValue(instance, 10);
有谁知道为什么会发生这种情况?