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);
}
}