【发布时间】:2019-03-25 14:02:02
【问题描述】:
我正在尝试使用这个库来实现逻辑:
我有动词write,以及这个方案的选项:
write (-md [-p|-s] [-t]) | (-txt [-v]) - '|' - 表示或(使用 -md 时仅接受 -p OR -s(但不是必需的,如 '[]' 所示))
有没有简单的方法来实现这个?还是我应该将其拆分为单独的动词?
【问题讨论】:
我正在尝试使用这个库来实现逻辑:
我有动词write,以及这个方案的选项:
write (-md [-p|-s] [-t]) | (-txt [-v]) - '|' - 表示或(使用 -md 时仅接受 -p OR -s(但不是必需的,如 '[]' 所示))
有没有简单的方法来实现这个?还是我应该将其拆分为单独的动词?
【问题讨论】:
很抱歉回答自己的问题,但对其他人有帮助 (source):
您可以在声明 OptionAttribute 时使用 SetName 参数:
internal class Options
{
[Option("username", SetName = "auth")]
public string Username { get; set; }
[Option("password", SetName = "auth")]
public string Password { get; set; }
[Option("guestaccess", SetName = "guest")]
public bool GuestAccess { get; set; }
}
现在username 和password 可以一起使用,但guestaccess 在“guest”集中单独使用,因此不能与其他集中的选项一起使用。
【讨论】: