internal ParamOutputChainer(Chainer prev) : base(prev) { ParamChainer paramObj = prev.GetPrev <ParamChainer>(); paramObj.Param.IsOutput = true; }
internal ParamOptionalChainer(Chainer prev, ParameterArgument defaultArgument) : base(prev) { if (defaultArgument.IsNullReference()) { defaultArgument = Designer.Null; } TryTakeException(defaultArgument.Exception); TryThrow(); ParamChainer paramObj = prev.GetPrev <ParamChainer>(); paramObj.Param.IsOptional = true; paramObj.Param.Default = defaultArgument; if (defaultArgument.CheckType(paramObj.Param, defaultArgument.Value, out chainException)) { paramObj.Param.Default.BuildArgument(GetRoot(), paramObj.Param.Name); TryThrow(paramObj.Param.Default.Exception); } else { chainException.Extra = "Argument is a default value of the parameter."; TryThrow(); } }
internal ParamNotNullChainer(Chainer prev) : base(prev) { ParamChainer paramObj = prev.GetPrev <ParamChainer>(); paramObj.Param.IsNullable = false; if (paramObj.Param.Default != null && paramObj.Param.Default.Value == null) { var paramName = paramObj.Param.Name; Throw(QueryTalkExceptionType.OptionalParamDefaultArgumentNull, ArgVal(() => paramName, paramName), Text.Method.ParamOptional); } }