我想通過命令行爲我的應用程序創建某種自動登錄。爲此,我已經想到了以下方法:命令行參數解析
myapp.exe /autologin -u "Username" -p "Password"
現在首先:這是正確的做法(在命名方面和交換機?)和第二:我怎樣才能使這個解析?
我已經嘗試過這樣的,但是失敗了(或者至少我覺得我失敗了,因爲我必須做手工的字符串操作):
internal static void SetStartupArguments(List<string> arguments)
{
IsApplicationWarmup = arguments.Contains("/warmup");
IsApplicationAutoLogin = arguments.Contains("/autologin");
if (IsApplicationAutoLogin)
{
int autoLoginIndex = arguments.FindIndex(0, str => str == "/autologin");
if (arguments.Count >= autoLoginIndex + 1)
{
AutoLoginUser = arguments[autoLoginIndex + 1];
AutoLoginPassword = string.Empty;
}
}
}
的另一件事是,這是很容易出錯。我無法確定-u或-p開關是否先到位,所以我擔心我最終會將密碼用作用戶名,反之亦然。
我只是遍歷參數,當你遇到'-u'下一個參數是用戶;當你遇到'-p'時,下一個參數是密碼。 – Joey
你可以使用Regex強制驗證邏輯。這個應用程序是一個控制檯程序還是一個winforms應用程序使用控制檯,main的入口點內置了參數/參數處理。 – ApolloSoftware