ここで、リフレクションを使用してクラス var メンバーに書き込む方法を stackoverflow で読んでいます。私は次のようなものを使用します:
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);
なぜこれが起こっているのか知っている人はいますか?