Example #1
0
        public void AddFactory()
        {
            var factory = MockDependencyFactory(_contract);

            _dependencies.AddFactory(factory.Object);

            _dependencies.Contains(_contract).Should().BeTrue();
        }
Example #2
0
        public static DependencyCollection AddMapper(this DependencyCollection collection)
        {
            var contract       = typeof(IMapper <>);
            var implementation = typeof(CompiledMapper <>);

            collection.AddFactory(new GenericFactory(contract, implementation, DependencyLifetime.Singleton));

            return(collection);
        }
Example #3
0
        public static DependencyCollection AddEmitter(this DependencyCollection collection)
        {
            collection
            .AddFactory(new PipelineFactory(PipelineTypes.Command))
            .AddFactory(new PipelineFactory(PipelineTypes.Notification))
            .AddFactory(new PipelineFactory(PipelineTypes.Query))
            .AddScoped <Emitter>();

            return(collection);
        }
Example #4
0
        public void TryRegister(DependencyCollection collection, Type implementation)
        {
            var contracts = ReflectionUtils.GetGenericInterfaceImplementations(implementation, _processorTypes);

            if (contracts.Length == 0)
            {
                return;
            }

            if (implementation.IsGenericTypeDefinition)
            {
                var contract = contracts[0];
                collection.AddFactory(new GenericFactory(contract, implementation, _lifetime));
            }
            else
            {
                contracts.Add(implementation);
                collection.AddDependency(contracts.ToArray(), implementation, _lifetime);
            }
        }