命令行中Mainform批处理和XML批处理之间的区别

时间:2017-06-27 12:23:14

标签: c# xml args

我是C#的新手,我没有得到以下几行代码。主要表单加载的第二部分(在else条件下)对我来说很熟悉。但是代码从args [0]读取的第一部分对我来说有点难以理解。任何人都可以帮忙吗?我需要清楚地了解这里发生了什么。任何链接都可以。我不知道如何开始搜索

if (args.Length > 0 && ("xml" == args[0].Substring(args[0].Length - 3)))     
               {
                  BatchApplicationContext context = new BatchApplicationContext(args[0]);
                  if (context.ReturnValue == 0) Application.Run(context);
                  ret = context.ReturnValue;
               }
               else
               {
                  Properties.Brand.InitializeHook("App.Properties.Resources", Assembly.GetExecutingAssembly());
                  MainForm mainForm = new MainForm(args);
                  if (mainForm != null && !mainForm.DoExit) Application.Run(mainForm);   
               }

1 个答案:

答案 0 :(得分:0)

基本上,它在传递给应用程序的命令行参数的开头检查是否存在“xml” 和 任

(1)实例化BatchApplicationContext类,将参数传递给此类的构造函数     (我不知道这个类是.Net Framework的一部分,这是一个用户定义的类吗?)     Application.Run(context)指定有关应用程序线程的上下文信息,所以我的     猜测是他们使用自定义类(用户定义)来创建上下文对象以供使用     在此代码块中

OR

(2)实例化MainForm将参数传递给this的构造函数,然后在成功加载时显示表单