Esempio n. 1
0
        public void Throw_Not_Generic_Implementation()
        {
            var builder = new DependencyCollection();

            Assert.Throws <InvalidOperationException>(() =>
                                                      builder.AddTransient(typeof(IRepository <>), typeof(FooRepository)));
        }
Esempio n. 2
0
        private static void AddTransient(DependencyCollection dependencies, ServiceDescriptor descriptor)
        {
            if (descriptor.ImplementationFactory == null)
            {
                dependencies.AddTransient(descriptor.ServiceType, descriptor.ImplementationType);
            }
            else
            {
                var contracts = new[] { descriptor.ServiceType };
                var resolver  = BuildDelegateResolver(descriptor);

                dependencies.Add(new TransientDependency(contracts, resolver));
            }
        }
Esempio n. 3
0
        public void Compile()
        {
            var provider = _dependencies
                           .AddTransient <ISession, Session>()
                           .BuildProvider();

            var first  = provider.GetService <ISession>();
            var second = provider.GetService <ISession>();

            Assert.NotSame(first, second);
        }