Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }