internal AccessReflector(Type type, object instanceObject, BindingReflector reflector) { m_Type = type; m_InstanceObject = instanceObject; m_Reflector = reflector; }
/// <summary> /// 指定された<see cref="BindingReflector"/>を使用して<see cref="AccessReflector"/>を生成して返します /// </summary> /// <param name="reflector">バインディングオブジェクト</param> /// <returns></returns> public AccessReflector Bind(BindingReflector reflector) { return(new BindingReflector(reflector.Flags, Type, reflector.InstanceObject).GenerateAccessReflector()); }
/// <summary> /// 現在のインスタンスに<see cref="BindingFlags.Static"/>が付与されている場合は解除し、 /// 指定されたオブジェクトを関連づけて<see cref="BindingFlags.Instance"/>を付与した新しい<see cref="AccessReflector"/>を返します /// </summary> /// <param name="instanceObject">関連づけるオブジェクト</param> /// <returns></returns> public AccessReflector ToInstance(object instanceObject) { m_Reflector = m_Reflector.ToInstance(instanceObject); return(new BindingReflector(m_Reflector.Flags, m_Type, m_Reflector.InstanceObject).GenerateAccessReflector()); }