OptionComponent
请大家关注我的微博:@NormanLin_BadPixel坏像素
关于这个组件,大家位移需要学的就是,CommandLine的作用。
C#开发的控制台程序,默认接收string[] args参数。如果有多个参数需要输入时,可以按照顺序依次输入;但如果有些参数不是必选的,或者有些参数中间需要有空格比如时间“2016-05-18 24:35:00”,处理起来就比较麻烦了。
这里要介绍的 CommandLine 就是帮助我们轻易完成参数接收和帮助输出的开源类库,同时它可以把接收到的参数转换成对象,方便程序的处理。
public class Options
{
[Option("appId", Required = false, Default = 1)]
public int AppId { get; set; }
// 没啥用,主要是在查看进程信息能区分每个app.exe的类型
[Option("appType", Required = false, Default = AppType.Manager)]
public AppType AppType { get; set; }
[Option("config", Required = false, Default = "../Config/StartConfig/LocalAllServer.txt")]
public string Config { get; set; }
}
这个Options类是需要自己定义的,需要什么启动参数就往上加。
public Options Options { get; set; }
public void Awake(string[] args)
{
Parser.Default.ParseArguments<Options>(args)
.WithNotParsed(error => throw new Exception($"命令行格式错误!"))
.WithParsed(options => { Options = options; });
}
这一步,不仅把启动参数转化为Options对象,并在转化完后储存在OptionComponent内。