我正在开发自己的命令行参数解析器,在阅读了数十篇关于方法重载的文章后,我仍然不确定我是否做得对。
我是否从这种重载方法中获得任何好处?我知道我可以通过分支在一个方法(使用默认值参数)中编写整个内容,但我目前正在尝试重载,我想知道是否继续这条路径。
public static class MyParsers
{
private static List<string> args;
static MyParsers()
{
args = Environment.GetCommandLineArgs().ToList();
}
public static List<string> ParseOptions()
{
return ParseOptions(false);
}
public static List<string> ParseOptions(bool toLowercase)
{
// DEBUG: Change command line arguments here.
var arguments = args;
return !toLowercase
? arguments
: arguments.MyExtToLower();
}
public static bool OptionExists(string option)
{
return OptionExists(option, false);
}
public static bool OptionExists(string option, bool toLowercase)
{
var list = ParseOptions(toLowercase);
for (var i = 1; i < list.Count; i++)
{
if (list[i].StartsWith(option)) return true;
}
return false;
}
}