/// <summary> /// Initializes a new instance of the <see cref="TableCommand"/> /// class. /// </summary> /// <param name="menuName"> /// The name of the command to be shown to the user. /// </param> /// <param name="callback"> /// The function to execute when the command is invoked. /// </param> /// <exception cref="System.ArgumentException"> /// <paramref name="menuName"/> is whitespace. /// </exception> /// <exception cref="System.ArgumentNullException"> /// <paramref name="menuName"/> is <c>null</c>. /// - or - /// <paramref name="callback"/> is <c>null</c>. /// </exception> public TableCommand(string menuName, TableCommandCallback callback) { Guard.NotNullOrWhiteSpace(menuName, nameof(menuName)); Guard.NotNull(callback, nameof(callback)); this.MenuName = menuName; this.Callback = callback; }
/// <inheritdoc /> public ITableBuilder AddTableCommand(string name, TableCommandCallback callback) { Guard.NotNullOrWhiteSpace(name, nameof(name)); var canonicalName = name.Trim(); if (this.commands.Any(x => StringComparer.CurrentCultureIgnoreCase.Equals(x.MenuName, canonicalName))) { throw new InvalidOperationException($"Duplicate command names are not allowed. Duplicate: {canonicalName}"); } this.commands.Add(new TableCommand(canonicalName, callback)); return(this); }
public ITableBuilder AddTableCommand(string commandName, TableCommandCallback callback) { throw new NotImplementedException(); }
public ITableBuilder AddTableCommand(string commandName, TableCommandCallback callback) { tables.Add(new Tuple <string, TableCommandCallback>(commandName, callback)); return(this); }