public INeedAHandler Is(FeatureSwitchStatus status) { if (_nextType is null) { throw new ConfigurationException("No handler has been configured for this feature switch."); } _switches.Add(_nextType, status); _nextType = null; return(this); }
/// <summary> /// Initialises a new instance of the <see cref="FeatureSwitchAttribute"/> class. /// </summary> /// <param name="handler">The handler to feature switch</param> /// <param name="status">The status of the feature switch</param> /// <param name="step">The step.</param> /// <param name="timing">The timing.</param> public FeatureSwitchAttribute(Type handler, FeatureSwitchStatus status, int step, HandlerTiming timing = HandlerTiming.Before) : base(step, timing) { _handler = handler; _status = status; }
/// <summary> /// Initializes from attribute parameters. /// </summary> /// <param name="initializerList">The initializer list.</param> public override void InitializeFromAttributeParams(params object[] initializerList) { _handler = (Type)initializerList[0]; _status = (FeatureSwitchStatus)initializerList[1]; }
public void RegisterHandler(Type handler, FeatureSwitchStatus status) { _switches.Add(handler, status); }