Source/NuGetGallery.Operations/Infrastructure/ICommandManager.cs (14 lines of code) (raw):

using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Reflection; namespace NuGetGallery.Operations { public interface ICommandManager { [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Method would do reflection and a property would be inappropriate.")] IEnumerable<ICommand> GetCommands(); ICommand GetCommand(string commandName); IDictionary<OptionAttribute, PropertyInfo> GetCommandOptions(ICommand command); void RegisterCommand(ICommand command); } }