internal static IArgumentArity TranslateArity(ArityEnum arity) { switch (arity) { case ArityEnum.Zero: return(ArgumentArity.Zero); // => new ArgumentArity(0, 0); case ArityEnum.ZeroOrOne: return(ArgumentArity.ZeroOrOne); // => new ArgumentArity(0, 1); case ArityEnum.ExactlyOne: return(ArgumentArity.ExactlyOne); // => new ArgumentArity(1, 1); case ArityEnum.ZeroOrMore: return(ArgumentArity.ZeroOrMore); // => new ArgumentArity(0, 2147483647); case ArityEnum.OneOrMore: return(ArgumentArity.OneOrMore); // => new ArgumentArity(1, 2147483647); default: throw new ArgumentOutOfRangeException(nameof(arity)); } }
public ArgumentAttribute(string name, ArityEnum arity = ArityEnum.Unknown) { Name = name ?? throw new ArgumentNullException(nameof(name)); Arity = arity; }