4.解析Main(string[] args)中参数args。主要是在控制台中启动程序时同时赋予了参数的形式。
// ParseArgs may set values that are used elsewhere,
// such as startFullScreen and CurrentSettingsDirectory.
ParseArgs(args);
args中参数可能是:
"worldwind://":加载定位显示球体某处。
“/f” :全屏启动。
“/s=……”:指定加载“配置”的文件夹路径。
这里要注意的事,Main函数一般是没有参数的,如果我们以后要写可以在控制台下给启动程序传入参数,可以借鉴一下。
5.加载上次使用的配置信息,包括上次使用的WorldWind主窗体使用信息和上次使用的World球体显示信息
加载配置
if(CurrentSettingsDirectory == null)
{
// load program settings from default directory
LoadSettings();
World.LoadSettings();
}
else
{
LoadSettings(CurrentSettingsDirectory);
World.LoadSettings(CurrentSettingsDirectory);
}
这里有几个知识点可以学习一下:
(1)C#对象的序列化为XML文件和反序列化Xml文件为对象,参看:http://www.cnblogs.com/wuhenke/archive/2009/12/10/1621437.html
SettingsBase类的 Load方法中的反序列化:
XmlSerializer ser = new XmlSerializer(defaultSettings.GetType());
using(TextReader tr = new StreamReader(fileName))
{
settings = (SettingsBase)ser.Deserialize(tr);
settings.m_fileName = fileName; // remember where we loaded from for a later save
}