public void RegisterTransition(T beginTransitionState, T endTransitionState, CreateTaskForTransitionCallback createTaskCallback) { createTaskCallback.AssertNotNull("factory"); var transitionRegistrationInfo = new TransitionRegistrationInfo(beginTransitionState, createTaskCallback); var registered = this.transitionRegistrations.TryAdd(endTransitionState, transitionRegistrationInfo); exceptionHelper.ResolveAndThrowIf(!registered, "transitionAlreadyRegistered", endTransitionState); }
public TransitionRegistrationInfo(T beginTransitionState, CreateTaskForTransitionCallback taskFactory) { this.beginTransitionState = beginTransitionState; this.taskFactory = taskFactory; }