public virtual IArgumentConstraint GetArgumentConstraint(ParsedArgumentExpression argument) { if (IsParamArrayExpression(argument)) { return this.CreateParamArrayConstraint((NewArrayExpression)argument.Expression); } var isByRefArgument = IsByRefArgument(argument); object argumentValue; var constraint = this.GetArgumentConstraintFromExpression(argument.Expression, out argumentValue); if (isByRefArgument) { if (IsOutArgument(argument)) { constraint = new OutArgumentConstraint(argumentValue); } else { constraint = new RefArgumentConstraint(constraint, argumentValue); } } return constraint; }
public virtual IArgumentConstraint GetArgumentConstraint(ParsedArgumentExpression argument) { if (IsParamArrayExpression(argument)) { return this.CreateParamArrayConstraint((NewArrayExpression)argument.Expression); } if (IsOutArgument(argument)) { return new OutArgumentConstraint(argument.Value); } var constraint = this.GetArgumentConstraintFromExpression(argument.Expression); if (IsRefArgument(argument)) { constraint = new RefArgumentConstraint(constraint, argument.Value); } return constraint; }