C#コンソールアプリケーション(CLI)でフレームワークをコーディングしたいと思います。詳細は重要ではありません。 わかりません、コマンドをきれいに、そしてまもなく認識する方法。 は、私がスイッチケースで試してみました:コマンドラインインターフェイスを使用したC#フレームワーク
public static void command_recognizing(string command) // random example
{
string[] tmp_array = command.Split(' ');
switch(tmp_array[0])
{
case("help"):
method_library.help(); // no need argument
break;
case("time"):
method_library.time(); // no need argument
break;
case("shutdown"):
method_library.shutdown(tmp_array); // need argument
break;
default:
Console.WriteLine("Error! {0} is not a known command!",tmp_array[0]);
break;
}
}
は私もしようとした場合、他:私は、文字列配列内のコマンドを保存しようとした
public static void command_recognizing(string command) // random example
{
string[] tmp_array = command.Split(' ');
if(command.Contains("help"))
{
method_library.help(); // no need argument
}
else if(command.Contains("time"))
{
method_library.time(); // no need argument
}
else if(command.Contains("shutdown"))
{
method_library.shutdown(tmp_array); // need argument
}
else
{
Console.WriteLine("Error! {0} is not a known command!",tmp_array[0]);
}
}
、まだ長いと醜い、同じ。
コマンドの認識をより短く、よりクリーンで簡単にする方法はありますか? 私の英語を忘れないでください。私を修正しても構いません!
この記事を見てみましょう –
"インタプリタを書く方法のC#" をグーグルで試してみてください:https://stackoverflow.com/questions/673113/poor-mans-lexer-for-c-sharp –
Nuget> CommandLineParser –