public BindSetMember ( |
||
binder | An instance of the |
|
value | The |
|
return |
/// <summary> /// Performs the binding of the dynamic set member operation. /// </summary> /// <param name="target">The target of the dynamic set member operation.</param> /// <param name="args">An array of arguments of the dynamic set member operation.</param> /// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNullItems(args, "args"); ContractUtils.Requires(args.Length == 1); return target.BindSetMember(this, args[0]); }
/// <summary> /// Tries to perform binding of the dynamic set member operation. /// </summary> /// <param name="binder">An instance of the <see cref="SetMemberBinder"/> that represents the details of the dynamic operation.</param> /// <param name="instance">The target of the dynamic operation.</param> /// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set member operation.</param> /// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> /// <returns>true if operation was bound successfully; otherwise, false.</returns> public static bool TryBindSetMember(SetMemberBinder binder, DynamicMetaObject instance, DynamicMetaObject value, out DynamicMetaObject result) { if (TryGetMetaObject(ref instance)) { result = instance.BindSetMember(binder, value); return true; } else { result = null; return false; } }
/// <summary> /// Performs the binding of the dynamic set member operation. /// </summary> /// <param name="target">The target of the dynamic set member operation.</param> /// <param name="args">An array of arguments of the dynamic set member operation.</param> /// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, nameof(target)); ContractUtils.RequiresNotNull(args, nameof(args)); ContractUtils.Requires(args.Length == 1, nameof(args)); var arg0 = args[0]; ContractUtils.RequiresNotNull(arg0, nameof(args)); return target.BindSetMember(this, arg0); }
/// <summary> /// Performs the binding of the dynamic set member operation. /// </summary> /// <param name="target">The target of the dynamic set member operation.</param> /// <param name="args">An array of arguments of the dynamic set member operation.</param> /// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNull(args, "args"); ContractUtils.Requires(args.Length == 1, "args"); var arg0 = args[0]; ContractUtils.RequiresNotNull(arg0, "args"); return(target.BindSetMember(this, arg0)); }
/// <summary> /// Performs the binding of the dynamic set member operation. /// </summary> /// <param name="target">The target of the dynamic set member operation.</param> /// <param name="args">An array of arguments of the dynamic set member operation.</param> /// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ArgumentNullException.ThrowIfNull(target); ArgumentNullException.ThrowIfNull(args); ContractUtils.Requires(args.Length == 1, nameof(args)); var arg0 = args[0]; ArgumentNullException.ThrowIfNull(arg0, nameof(args)); return(target.BindSetMember(this, arg0)); }
public static bool TryBindSetMember(SetMemberBinder binder, DynamicMetaObject instance, DynamicMetaObject value, out DynamicMetaObject result) { ContractUtils.RequiresNotNull(binder, "binder"); ContractUtils.RequiresNotNull(instance, "instance"); ContractUtils.RequiresNotNull(value, "value"); if (TryGetMetaObject(ref instance)) { // // Demand Full Trust to proceed with the binding. // new PermissionSet(PermissionState.Unrestricted).Demand(); result = instance.BindSetMember(binder, value); return true; } else { result = null; return false; } }
public static void TestMetaObject(DynamicMetaObject target, string name, DynamicMetaObject value, string expectedMethodSignature, bool isValid = true) { SetMemberBinder binder = new TestSetMemberBinder(name); DynamicMetaObject result = target.BindSetMember(binder, value); Assert.IsNotNull(result); MethodCallExpression expression = result.Expression as MethodCallExpression; Assert.IsNotNull(expression); Assert.AreEqual<string>(expectedMethodSignature, expression.Method.ToString()); }
public static void TestBindParams(DynamicMetaObject target, DynamicMetaObject value) { SetMemberBinder binder = new TestSetMemberBinder("AnyProperty"); ExceptionTestHelper.ExpectException<ArgumentNullException>(() => { var result = target.BindSetMember(null, value); }); ExceptionTestHelper.ExpectException<ArgumentNullException>(() => { var result = target.BindSetMember(binder, null); }); }
/// <summary> /// Tries to perform binding of the dynamic set member operation. /// </summary> /// <param name="binder">An instance of the <see cref="SetMemberBinder"/> that represents the details of the dynamic operation.</param> /// <param name="instance">The target of the dynamic operation.</param> /// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set member operation.</param> /// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> /// <returns>true if operation was bound successfully; otherwise, false.</returns> public static bool TryBindSetMember(SetMemberBinder binder, DynamicMetaObject instance, DynamicMetaObject value, out DynamicMetaObject result) { ContractUtils.RequiresNotNull(binder, "binder"); ContractUtils.RequiresNotNull(instance, "instance"); ContractUtils.RequiresNotNull(value, "value"); if (TryGetMetaObject(ref instance)) { result = instance.BindSetMember(binder, value); return true; } else { result = null; return false; } }
/// <summary> /// Tries to perform binding of the dynamic set member operation. /// </summary> /// <param name="binder">An instance of the <see cref="SetMemberBinder"/> that represents the details of the dynamic operation.</param> /// <param name="instance">The target of the dynamic operation.</param> /// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set member operation.</param> /// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> /// <returns>true if operation was bound successfully; otherwise, false.</returns> public static bool TryBindSetMember(SetMemberBinder binder, DynamicMetaObject instance, DynamicMetaObject value, out DynamicMetaObject result) { if (TryGetMetaObject(ref instance)) { result = instance.BindSetMember(binder, value); result = new DynamicMetaObject(result.Expression, result.Restrictions.Merge(value.PSGetMethodArgumentRestriction())); return true; } else { result = null; return false; } }