private static Argument?CreateArgument(Type?argumentType, Func <object?>?getDefaultValue, ArgumentArity arity) { if (argumentType is null && getDefaultValue is null && !arity.IsNonDefault) { return(null); } var rv = new Argument(); if (argumentType is not null) { rv.ValueType = argumentType; } if (getDefaultValue is not null) { rv.SetDefaultValueFactory(getDefaultValue); } if (arity.IsNonDefault) { rv.Arity = arity; } return(rv); }
private static Argument?GetArgument(Type?argumentType, Func <object?>?getDefaultValue, IArgumentArity?arity) { if (argumentType is null && getDefaultValue is null && arity is null) { return(null); } var rv = new Argument(); if (argumentType != null) { rv.ArgumentType = argumentType; } if (getDefaultValue != null) { rv.SetDefaultValueFactory(getDefaultValue); } if (arity != null) { rv.Arity = arity; } return(rv); }