/// <summary> /// Initializes a new instance of the <see cref="ServiceLocator"/> class. /// </summary> /// <param name="container">The container.</param> internal ServiceLocator(IServiceLocatorContainer container) { ArgumentChecker.NotNull(container, () => container); // Register self so that IServiceLocator can be resolved. container.RegisterSingleton <IServiceLocator, ServiceLocator>(this); _container = container; }
/// <summary> /// Configures the specified container. /// </summary> /// <param name="container">The container.</param> public virtual void Configure(IServiceLocatorContainer container) { container.RegisterSingleton <ISetupManager, SetupManager>(); container.RegisterSingleton <IInvocationTracker, InvocationTracker>(); container.RegisterSingleton <Interceptor, Interceptor>(); container.RegisterSingleton <EventInterceptor, EventInterceptor>(); container.RegisterSingleton <ISetupMatcher, SetupMatcher>(); container.RegisterSingleton <ITargetMatcher, TargetMatcher>(); container.RegisterSingleton <IArgumentMatcher, ArgumentMatcher>(); container.RegisterSingleton <IItIsMatcher, ItIsMatcher>(); container.RegisterSingleton <IMethodDisassembler, MethodDisassembler>(); container.RegisterSingleton <IAssemblyResolver, CecilAssemblyResolver>(); container.RegisterSingleton <IExpressionDecompiler <Expression>, ExpressionDecompiler <Expression> >(); container.RegisterSingleton <IExpressionDecompiler <Action>, ExpressionDecompiler <Action> >(); container.RegisterSingleton <IExpressionCompiler, ExpressionCompiler>(); container.RegisterSingleton <IExpressionHelper, ExpressionHelper>(); container.RegisterSingleton <IInstructionsCompiler, DynamicMethodCompiler>(); container.RegisterSingleton <IOpCodeMapper, OpCodeMapper>(); container.RegisterSingleton <IMethodRewriter, MethodRewriter>(); container.RegisterSingleton <IInstructionHelper, InstructionHelper>(); container.RegisterSingleton <IParameterDeducer, ParameterDeducer>(); container.RegisterSingleton <IArgumentGenerator, ArgumentGenerator>(); container.RegisterSingleton <IAssemblyPostProcessor, AssemblyAttributesFilter>(); container.RegisterSingleton <IAssemblyPostProcessor, ModuleMvidPostProcessor>(); container.RegisterSingleton <ITypeResolver, TypeResolver>(); container.RegisterSingleton <IModuleResolver, ModuleResolver>(); container.RegisterSingleton <IFieldResolver, FieldResolver>(); container.RegisterSingleton <IMethodResolver, MethodResolver>(); container.RegisterSingleton <SetupExtractor, SetupExtractor>(); container.RegisterSingleton <ISetupExtractor, SetupExtractor>(); container.RegisterSingleton <IEventTargetExtractor, EventTargetExtractor>(); container.RegisterSingleton <IEventAccessorExtractor, EventAccessorExtractor>(); container.RegisterSingleton <IDependencyGraphBuilder, DependencyGraphBuilder>(); container.RegisterSingleton <IModuleFilterFactory, ModuleFilterFactory>(); container.Register <IEqualityComparer <ModuleReference>, ModuleReferenceComparer>(); container.Register <ISmocksContext, SmocksContext>(); container.Register <IServiceCreator, ServiceCreator>(); }
/// <summary> /// Configures the specified container. /// </summary> /// <param name="container">The container.</param> public virtual void Configure(IServiceLocatorContainer container) { container.RegisterSingleton<ISetupManager, SetupManager>(); container.RegisterSingleton<IInvocationTracker, InvocationTracker>(); container.RegisterSingleton<Interceptor, Interceptor>(); container.RegisterSingleton<EventInterceptor, EventInterceptor>(); container.RegisterSingleton<ISetupMatcher, SetupMatcher>(); container.RegisterSingleton<ITargetMatcher, TargetMatcher>(); container.RegisterSingleton<IArgumentMatcher, ArgumentMatcher>(); container.RegisterSingleton<IItIsMatcher, ItIsMatcher>(); container.RegisterSingleton<IMethodDisassembler, MethodDisassembler>(); container.RegisterSingleton<IExpressionDecompiler<Expression>, ExpressionDecompiler<Expression>>(); container.RegisterSingleton<IExpressionDecompiler<Action>, ExpressionDecompiler<Action>>(); container.RegisterSingleton<IExpressionCompiler, ExpressionCompiler>(); container.RegisterSingleton<IExpressionHelper, ExpressionHelper>(); container.RegisterSingleton<IInstructionsCompiler, DynamicMethodCompiler>(); container.RegisterSingleton<IOpCodeMapper, OpCodeMapper>(); container.RegisterSingleton<IMethodRewriter, MethodRewriter>(); container.RegisterSingleton<IInstructionHelper, InstructionHelper>(); container.RegisterSingleton<IParameterDeducer, ParameterDeducer>(); container.RegisterSingleton<IArgumentGenerator, ArgumentGenerator>(); container.RegisterSingleton<ITypeResolver, TypeResolver>(); container.RegisterSingleton<IModuleResolver, ModuleResolver>(); container.RegisterSingleton<IFieldResolver, FieldResolver>(); container.RegisterSingleton<IMethodResolver, MethodResolver>(); container.RegisterSingleton<SetupExtractor, SetupExtractor>(); container.RegisterSingleton<ISetupExtractor, SetupExtractor>(); container.RegisterSingleton<IEventTargetExtractor, EventTargetExtractor>(); container.RegisterSingleton<IEventAccessorExtractor, EventAccessorExtractor>(); container.RegisterSingleton<IDependencyGraphBuilder, DependencyGraphBuilder>(); container.RegisterSingleton<IModuleFilterFactory, ModuleFilterFactory>(); container.Register<IEqualityComparer<ModuleReference>, ModuleReferenceComparer>(); container.Register<ISmocksContext, SmocksContext>(); container.Register<IServiceCreator, ServiceCreator>(); }