示例#1
0
        public static void Test42()
        {
            //TestSet21
            TypeBuilderOptions typeBuilderOptions = null;

            Assert.Throws <ArgumentNullException>(() => new Container(typeBuilderOptions));
        }
示例#2
0
        public static void Test21()
        {
            //TestSet21
            var typeBuilderOptions = new TypeBuilderOptions()
            {
                Constructor   = new InterfaceTypeConstructor(),
                Filter        = new InterfaceTypeFilter(),
                Parser        = new InterfaceTypeParser(),
                Resolver      = new InterfaceTypeResolver(),
                UseValueTypes = false
            };
            var container = new Container(typeBuilderOptions);

            container.RegisterType <IInterfaceRuleSet2>();
            container.RegisterType <IInterfaceRuleSet1>();
            var sql = (ServiceDataRepository)container.CreateInstance("TestSet21.ServiceDataRepository(TestSet21.SqlDataRepository)");

            Assert.NotNull(sql.Repository);
        }
示例#3
0
        public static void Test28()
        {
            //TestSet21
            var typeBuilderOptions = new TypeBuilderOptions()
            {
                Activator   = new TypeActivator(),
                Constructor = new InterfaceTypeConstructor(),
                Filter      = new InterfaceTypeFilter(),
                Parser      = new InterfaceTypeParser(),
                Resolver    = new InterfaceTypeResolver(),
                UseDefaultTypeAttributeOverwrite = false,
                UseValueTypes = false
            };
            var container = new Container(typeBuilderOptions);

            container.RegisterType <IInterfaceRuleSet2>();
            container.RegisterType <IInterfaceRuleSet1>();
            container.RegisterType <IInterfaceRuleSet3>();
            Assert.Throws <TypeRegistrationException>(() => container.RegisterType <IInterfaceRuleSet2_Overwrite>());
        }