public CallMethod ( |
||
resolver | Overload resolver. | |
targets | IList |
The methods to be called |
return |
public override DynamicMetaObject/*!*/ GetExpression(DefaultBinder/*!*/ binder) { var mc = new ParameterBinderWithCodeContext(binder, CodeContext); if (_creating.IsSystemType) { return binder.CallMethod( mc, _creating.UnderlyingSystemType.GetConstructors(), Arguments.Arguments, Arguments.Signature, Arguments.Self.Restrictions, _creating.Name ); } return binder.CallMethod( mc, _creating.UnderlyingSystemType.GetConstructors(), ArrayUtils.Insert(Arguments.Self, Arguments.Arguments), GetDynamicNewSignature(), Arguments.Self.Restrictions, _creating.Name ); }
public override DynamicMetaObject/*!*/ GetExpression(DefaultBinder/*!*/ binder) { var mc = new ParameterBinderWithCodeContext(binder, CodeContext); CallSignature sig = Arguments.Signature.InsertArgument(new Argument(ArgumentType.Simple)); return binder.CallMethod( mc, _ctor.Targets, ArrayUtils.Insert(Arguments.Self, Arguments.Arguments), sig, _creating.Name ); }
public override DynamicMetaObject/*!*/ GetExpression(DefaultBinder/*!*/ binder) { var mc = new ParameterBinderWithCodeContext(binder, CodeContext); if (_creating.IsSystemType) { return binder.CallMethod( mc, _creating.UnderlyingSystemType.GetConstructors(), new DynamicMetaObject[0], new CallSignature(0), BindingRestrictions.Empty, _creating.Name ); } return binder.CallMethod( mc, _creating.UnderlyingSystemType.GetConstructors(), new DynamicMetaObject[] { Arguments.Self }, new CallSignature(1), BindingRestrictions.Empty, _creating.Name ); }