public StackBlockSpecBase(string tag, int index, BlockSpecTypes blockType) { Tag = string.IsNullOrEmpty(tag) ? "Block " + index : tag; Index = index; BlockType = blockType; if (blockType == BlockSpecTypes.Finally) { Tag = BlockSpecTypes.Finally.ToString(); } else if (Tag == BlockSpecTypes.Finally.ToString()) { throw new OperationStackDeclarationException("Tag 'Finally' is reserved for Finally blocks"); } }
public StackBlockSpecOperation(string tag, int index, Func <TInput, TState, IStackEvents <TOperationEvent>, IEmptyable, StackBlockBase <TInput, TState, TOperationEvent> > blockBuilder, BlockSpecTypes blockType) : base(tag, index, blockType) { this.blockBuilder = blockBuilder; }
public StackBlockSpecEvent(int index, Func <TInput, TState, IStackEvents <TOperationEvent>, IEmptyable, StackBlockBase <TInput, TState, TOperationEvent> > blockBuilder, BlockSpecTypes blockType = BlockSpecTypes.EventsHandler) : base("EventHandler " + index, index, blockType) { this.blockBuilder = blockBuilder; }
public StackBlockSpecBase(int index, BlockSpecTypes blockType) : this("Block " + index, index, blockType) { }