/// <summary> /// 如果当前命令执行上下文中的命令名称在 <paramref name="commandNames"/> 中存在则执行 <paramref name="func"/>。 /// </summary> /// <typeparam name="T">返回值类型。</typeparam> /// <param name="context">命令上下文。</param> /// <param name="func">执行的动作。</param> /// <param name="def">如果不属于 <paramref name="commandNames"/> 返回的默认值。</param> /// <param name="commandNames">命令名称。</param> /// <returns>返回值。</returns> public static T Is <T>(this CommandExecuteContext context, Func <T> func, T def, params string[] commandNames) { if (func == null || !context.IsIn(commandNames)) { return(def); } return(func()); }
/// <summary> /// 如果当前命令执行上下文中的命令名称在 <paramref name="commandNames"/> 中存在则执行 <paramref name="action"/>。 /// </summary> /// <param name="context">命令上下文。</param> /// <param name="action">执行的动作。</param> /// <param name="commandNames">命令名称。</param> public static void Is(this CommandExecuteContext context, Action action, params string[] commandNames) { if (action == null || !context.IsIn(commandNames)) { return; } action(); }