using System; namespace ln.application { public class Argument : IArgument { public char OptionName { get; } public String LongOptionName { get; } public string HelpString { get; } public bool HasArgument { get; set; } public string Value { get; set; } = null; public int IntegerValue => int.Parse(Value); public double DoubleValue => double.Parse(Value); public Argument(char optionNameName, string longOptionNameName) { OptionName = optionNameName; LongOptionName = longOptionNameName; } public Argument(char optionNameName, string longOptionNameName, int defaultValue) : this(optionNameName, longOptionNameName, defaultValue.ToString()) { } public Argument(char optionNameName, string longOptionNameName, double defaultValue) : this(optionNameName, longOptionNameName, defaultValue.ToString()) { } public Argument(char optionNameName, string longOptionNameName, string defaultValue) { OptionName = optionNameName; LongOptionName = longOptionNameName; Value = defaultValue; } } }