public static IValueContainer CreateContainer( this IServiceStateValueContainerProvider serviceStateValueContainerFactory, object serviceInstance) { var serviceType = serviceInstance.GetType(); var containerFactory = serviceStateValueContainerFactory.GetContainerFactory(serviceType); return(containerFactory.Create(serviceInstance)); }
public TransitionRunner( ITransitionScope transitionScope, ITransitionCommitter transitionCommitter, IServiceProxyBuilder serviceProxyBuilder, IRoutineMethodResolver routineMethodResolver, IAsyncStateMachineMetadataProvider asyncStateMachineMetadataProvider, IMethodInvokerFactory methodInvokerFactory, IServiceStateValueContainerProvider serviceStateValueContainerProvider, IntrinsicRoutines intrinsicRoutines, INumericIdGenerator idGenerator) { _transitionScope = transitionScope; _transitionCommitter = transitionCommitter; _serviceProxyBuilder = serviceProxyBuilder; _routineMethodResolver = routineMethodResolver; _asyncStateMachineMetadataProvider = asyncStateMachineMetadataProvider; _methodInvokerFactory = methodInvokerFactory; _serviceStateValueContainerProvider = serviceStateValueContainerProvider; _intrinsicRoutines = intrinsicRoutines; _idGenerator = idGenerator; }