bool IParameterParser.TryParse(ArgumentInput input, out object result)
        {
            var success = TryParse(input, out T res);

            result = res;
            return(success);
        }
 public override bool TryParse(ArgumentInput input, out TAlias result)
 {
     result = default;
     if (!Parser.GetParser <TBase>().TryParse(input, out TBase baseValue))
     {
         return(false);
     }
     result = Convert(baseValue);
     return(true);
 }
 /// <summary>
 /// Attempts to parse and store an object of type <typeparamref name="T"/>.
 /// </summary>
 /// <param name="input">An object containing the raw string input passed to this parser.</param>
 /// <param name="result">An out parameter that stores the result of this parser. If parsing fails, set to <c>null</c> or <c>default(<typeparamref name="T"/>)</c></param>
 /// <returns>A boolean value representing whether this parser succeeded in parsing the object. Return true if parsing succeeded, and false if parsing failed.</returns>
 public abstract bool TryParse(ArgumentInput input, out T result);