将开关(命令行参数)解析为我的C#wpf应用程序

Parse switches (Command Line Arguments) to my C# wpf app

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Best way to parse command line arguments in C#?

我想知道如何将命令行参数解析到我的C wpf应用程序中,这样我就可以使用类似于shutdown.exe中的开关。例如,运行shutdown.exe /h将使计算机休眠。


你可以这样做。我还没有测试过,但我相信它会起作用。

1
2
3
4
5
6
7
static void Main(string[] args)
{
    if (args.Length > 0 && args.Contains("/?"))
    {
         ShowHelp();
    }
}


考虑到这些标签,我假设这是一个WPF应用程序。这使得它变得更加尴尬,因为Main方法是自动为您生成的。

两个备选方案引起了人们的注意:

  • 使用static void Main(string[] args)方法创建单独的入口点类型(例如Program类型),并将其设置为项目属性中的入口点。然后,您可以解析命令行参数,对它们进行操作,并在需要时在"real"应用程序上调用Main方法。

  • 在主Appxaml中为StartUp事件添加一个事件处理程序。该处理程序将得到一个StartUpEventArgs值,从该值可以通过Args属性获取命令行参数。

第二种可能是更惯用的方法,但如果您随后改为控制台或WinForms应用程序,则需要进行更多的更改。