我是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);
}
答案 0 :(得分:0)
基本上,它在传递给应用程序的命令行参数的开头检查是否存在“xml” 和 任
(1)实例化BatchApplicationContext类,将参数传递给此类的构造函数 (我不知道这个类是.Net Framework的一部分,这是一个用户定义的类吗?) Application.Run(context)指定有关应用程序线程的上下文信息,所以我的 猜测是他们使用自定义类(用户定义)来创建上下文对象以供使用 在此代码块中
OR
(2)实例化MainForm将参数传递给this的构造函数,然后在成功加载时显示表单