/// <inheritdoc/> public IOptionDefinitionBuilder SetArgumentPresence(ArgumentPresence argumentPresence) { ThrowIfSealed(); _argumentPresence = argumentPresence; return(this); }
/// <summary> /// Initializes a new instance of the OptionDefinitionBuilder class with a specified storage for options. /// </summary> /// <param name="owner">The option storage that will be used to store the new option</param> public Builder(OptionStorage owner) { _optionOwner = owner; _longNames = new HashSet <string>(); _shortNames = new HashSet <char>(); _argumentPresence = ArgumentPresence.None; _helpText = String.Empty; _isMandatory = false; _valueValidator = null; _isSealed = false; }
/// <summary> /// Initializes a new instance of the OptionDefinition class. /// </summary> /// <param name="builder">option definition bulder</param> internal OptionDefinition(Builder builder) { _owner = builder._optionOwner; _helpText = builder._helpText; _argumentPresence = builder._argumentPresence; _valueParser = builder._valueValidator; _shortNames = builder._shortNames.ToList(); _longNames = builder._longNames.ToList(); _isMandatory = builder._isMandatory; }