internal Option( string name, string?description, Argument argument) : base(description) { if (name is null) { throw new ArgumentNullException(nameof(name)); } _name = name.RemovePrefix(); AddAlias(name); argument.AddParent(this); _argument = argument; }
internal Option( string[] aliases, string?description, Argument argument) : base(description) { if (aliases is null) { throw new ArgumentNullException(nameof(aliases)); } if (aliases.Length == 0) { throw new ArgumentException("An option must have at least one alias.", nameof(aliases)); } for (var i = 0; i < aliases.Length; i++) { AddAlias(aliases[i]); } argument.AddParent(this); _argument = argument; }
private void AddArgumentInner(Argument argument) { argument.AddParent(this); _argument = argument; }