如何处理参数c#

本文关键字:参数 处理 何处理 | 更新日期: 2023-09-27 18:27:50

我有一个程序可以处理不同的文件类型。它可以是订单文件,或发货确认,或发票,等等

我有设置代码文件来处理每种类型的文件。

在我的主程序.cs中,我所做的就是检查哪种文件类型,然后运行正确的代码文件。这是硬编码的运行类型2。我们将有一个SQL代理作业,它将运行此程序exe,并将哪个文件类型传递为1,2,3等。

我的问题是,如何对我的程序进行编码,接收这样的参数,然后将该参数传递到下面的代码中。

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

如何处理参数c#

我们将有一个SQL代理作业,它将运行此程序exe,并将哪个文件类型传递为1,2,3等。

如果应用程序将接收来自调用方的参数,那么从配置文件中读取这些变量是个坏主意。

如果您的进程是控制台应用程序,为什么不使用已经提供的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