私は自分のコマンドライン引数パーサーに取り組んでおり、メソッドのオーバーロードに関する何十もの記事を読んだ後でも、それが正しいかどうかはまだわかりません.
この方法でメソッドをオーバーロードするメリットはありますか? 分岐することで単一のメソッド (デフォルト値パラメーターを使用) に全体を記述できることはわかっていますが、現在オーバーロードを実験しているため、このパスを続行するかどうかを知りたいと考えています。
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;
}
}