/// <summary> /// 指定したフィールドの値を取得します。 /// </summary> /// <param name="type">フィールドを保持している型を指定します。</param> /// <param name="fieldName">フィールドの名前を指定します。</param> /// <param name="is_static">静的フィールドか否かを指定します。</param> /// <param name="is_private">非公開メンバか否かを指定します。</param> public void EmitLdfld(System.Type type, string fieldName, bool is_static, bool is_private) { Ref::BindingFlags BINDING = (is_private?Ref::BindingFlags.NonPublic:Ref::BindingFlags.Public) | (is_static?Ref::BindingFlags.Static:Ref::BindingFlags.Instance); Ref::FieldInfo finfo = type.GetField(fieldName, BINDING); gen.Emit(Emit::OpCodes.Ldfld, finfo); }
private void Force0x20_0() { Ref::BindingFlags BF = Ref::BindingFlags.Instance | Ref::BindingFlags.NonPublic; System.Type ptype = typeof(System.Windows.Forms.PictureBox); Ref::FieldInfo fstate = ptype.GetField("pictureBoxState", BF); System.Collections.Specialized.BitVector32 vec = (System.Collections.Specialized.BitVector32)fstate.GetValue(this); vec[0x20] = false; fstate.SetValue(this, vec); }