2015-12-23 108 views
0

我有一個處理不同文件類型的程序。它可以是訂單文件,發貨確認或發票等。如何處理參數c#

我已經設置了代碼文件來處理每種類型的文件類型。

在我的主要program.cs我所做的是檢查哪個文件類型,然後運行正確的代碼文件。這裏是硬編碼運行類型2.我們將有一個SQL代理作業,將運行此程序EXE,並將通過哪些文件類型爲1,2,3等

我的問題是,如何編寫我的程序,接收這樣一個參數,然後傳入下面的代碼那個參數。

if (ConfigurationManager.AppSettings["ProgramType"].ToString() == "1") 
      { 
       Order.RunOrder(); 
      } 
      if (ConfigurationManager.AppSettings["ProgramType"].ToString() == "2") 
      { 
       Shipment.RunShipment(); 
+2

在你的程序的'Main'方法,你就會得到一個'字符串[] args'將包含命令行參數。 – adv12

回答

1

我們將不得不將運行這個程序exe文件,並會將其文件類型爲1,2,3等

如果您的應用程序將會從接收參數的SQL代理作業調用者,然後從配置文件讀取這些變量是一個壞主意。

如果您的過程是控制檯應用程序,爲什麼不使用已提供的Main參數?

public static void Main(string[] args) 
{ 
    // Read program type, default is "1" 
    string type = args.Length > 0 ? args[0] : "1"; 

    switch(type) 
    { 
     case "1": { Order.RunOrder(); break; } 
     case "2": { Shiptment.RunShipment(); break; } 
     // ... 
    } 
} 

SQL代理將在這一參數來傳遞:

> yourProgram.exe 1 
> yourProgram.exe 2 

// Same as yourProgram.exe 1 
> yourProgram.exe