private void AddSubcommand(SubcommandAttribute subcommand) { var impl = AddSubcommandMethod.MakeGenericMethod(subcommand.CommandType); try { impl.Invoke(this, new object[] { subcommand }); } catch (TargetInvocationException ex) { // unwrap throw ex.InnerException ?? ex; } }
private void AddSubcommand(Type parent, SubcommandAttribute subcommand) { var impl = AddSubcommandMethod.MakeGenericMethod(subcommand.CommandType); impl.Invoke(this, new object[] { parent, subcommand }); }