internal Udf(Table table, FunctionArgument[] arguments) : this(null) { Build = (buildContext, buildArgs) => { if (arguments == null) { arguments = new FunctionArgument[] { Designer.Null }; } foreach (var argument in arguments) { if (!argument.IsNullReference() && argument.Original is View) { var arg = ((View)argument.Original).Parameterize(buildContext); argument.SetStringBuildMethod(arg); argument.SetArgType(arg); } } var sql = Text.GenerateSql(50) .Append(table.Build(buildContext, buildArgs)) .Append(Text.LeftBracket) .Append(FunctionArgument.Concatenate(arguments, buildContext, buildArgs)) .Append(Text.RightBracket) .ToString(); TryThrow(buildContext); return(sql); }; }