Interface State<TInstance>
- Namespace
- Automatonymous
- Assembly
- Automatonymous.dll
A state within a state machine that can be targeted with events
public interface State<TInstance> : State, Visitable, IProbeSite, IComparable<State>Type Parameters
- TInstance
- The instance type to which the state applies 
- Inherited Members
Properties
Events
IEnumerable<Event> Events { get; }Property Value
SuperState
Returns the superState of the state, if there is one
State<TInstance> SuperState { get; }Property Value
- State<TInstance>
Methods
AddSubstate(State<TInstance>)
Adds a substate to the state
void AddSubstate(State<TInstance> subState)Parameters
- subStateState<TInstance>
Bind(Event, Activity<TInstance>)
Bind an activity to an event
void Bind(Event @event, Activity<TInstance> activity)Parameters
HasState(State<TInstance>)
True if the specified state is included in the state
bool HasState(State<TInstance> state)Parameters
- stateState<TInstance>
Returns
Ignore(Event)
Ignore the specified event in this state. Prevents an exception from being thrown if the event is raised during this state.
void Ignore(Event @event)Parameters
- eventEvent
Ignore<T>(Event<T>, StateMachineEventFilter<TInstance, T>)
Ignore the specified event in this state if the filter condition passed. Prevents exceptions from being thrown if the event is raised during this state.
void Ignore<T>(Event<T> @event, StateMachineEventFilter<TInstance, T> filter)Parameters
- eventEvent<T>
- filterStateMachineEventFilter<TInstance, T>
Type Parameters
- T
IsStateOf(State<TInstance>)
True if the specified state is a substate of the current state
bool IsStateOf(State<TInstance> state)Parameters
- stateState<TInstance>
Returns
Raise(EventContext<TInstance>)
Task Raise(EventContext<TInstance> context)Parameters
- contextEventContext<TInstance>
Returns
Raise<T>(EventContext<TInstance, T>)
Raise an event to the state, passing the instance
Task Raise<T>(EventContext<TInstance, T> context)Parameters
- contextEventContext<TInstance, T>
- The event context 
Returns
Type Parameters
- T
- The event data type