当前位置: 首页>>代码示例>>C#>>正文


C# IocContainer.RegisterInstance方法代码示例

本文整理汇总了C#中IocContainer.RegisterInstance方法的典型用法代码示例。如果您正苦于以下问题:C# IocContainer.RegisterInstance方法的具体用法?C# IocContainer.RegisterInstance怎么用?C# IocContainer.RegisterInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IocContainer的用法示例。


在下文中一共展示了IocContainer.RegisterInstance方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TryResolveAllReturnsExpectedInstances

        public void TryResolveAllReturnsExpectedInstances()
        {
            using (var container = new IocContainer())
            {
                // Arrange
                var foo1 = new Foo1();
                var foo2 = new Foo2();
                var foo3 = new Foo2();
                var bar1 = new Bar1();

                container.RegisterInstance<IFoo>(foo1);
                container.RegisterInstance<IFoo>(foo2, "Foo1");
                container.RegisterInstance<IFoo>(foo3, "Foo2");
                container.RegisterInstance<IBar>(bar1);

                // Act
                var results = container.TryResolveAll<IFoo>();

                var resultList = results.ToList();

                // Assert
                Assert.IsTrue(results.Count() == 3);

                CollectionAssert.Contains(resultList, foo1);
                CollectionAssert.Contains(resultList, foo2);
                CollectionAssert.Contains(resultList, foo3);
            }
        }
开发者ID:GeorgeR,项目名称:DynamoIOC,代码行数:28,代码来源:TryResolveAllTest.cs

示例2: MunqUseCase

        static MunqUseCase()
        {
            container = new IocContainer();
            singleton = new Munq.LifetimeManagers.ContainerLifetime();

            container.Register<IWebService>(
                c => new WebService(
                    c.Resolve<IAuthenticator>(),
                    c.Resolve<IStockQuote>()));

            container.Register<IAuthenticator>(
                c => new Authenticator(
                    c.Resolve<ILogger>(),
                    c.Resolve<IErrorHandler>(),
                    c.Resolve<IDatabase>()));

            container.Register<IStockQuote>(
                c => new StockQuote(
                    c.Resolve<ILogger>(),
                    c.Resolve<IErrorHandler>(),
                    c.Resolve<IDatabase>()));

            container.Register<IDatabase>(
                c => new Database(
                    c.Resolve<ILogger>(),
                    c.Resolve<IErrorHandler>()));

            container.Register<IErrorHandler>(
                c => new ErrorHandler(c.Resolve<ILogger>()));

            container.RegisterInstance<ILogger>(new Logger())
                    .WithLifetimeManager(singleton);
        }
开发者ID:jlaanstra,项目名称:Munq,代码行数:33,代码来源:MunqUseCase.cs

示例3: TryResolveAllByTypeNotRegisteredReturnsEmptyEnumerable

        public void TryResolveAllByTypeNotRegisteredReturnsEmptyEnumerable()
        {
            using (var container = new IocContainer())
            {
                // Arrange
                var foo1 = new Foo1();
                var foo2 = new Foo2();
                var bar1 = new Bar1();

                container.RegisterInstance<IFoo>(foo1);
                container.RegisterInstance<IFoo>(foo2, "Foo");
                container.RegisterInstance<IBar>(bar1);

                // Act
                var results = container.TryResolveAll<IFooBar>();

                // Assert
                Assert.IsTrue(results.Count() == 0);
            }
        }
开发者ID:GeorgeR,项目名称:DynamoIOC,代码行数:20,代码来源:TryResolveAllTest.cs

示例4: TryResolveByNameReturnsExpectedInstance

		public void TryResolveByNameReturnsExpectedInstance()
		{
			using (var container = new IocContainer())
			{
				// Arrange
				var foo = new Foo1();
				container.RegisterInstance<IFoo>(foo, "Foo");

				// Act
				IFoo obj;
				var result = container.TryResolve<IFoo>("Foo", out obj);

				// Assert
				Assert.AreSame(obj, foo);
				Assert.IsTrue(result);
			}
		}
开发者ID:Kingefosa,项目名称:Dynamo.IoC,代码行数:17,代码来源:TryResolveTest.cs

示例5: Configure

        public static void Configure(IocContainer container, ILifetimeManager lifetime)
        {
            CreateComponentMappedProperties
                .AddRuleForIdentifyingComponents(
                    x => x.ReturnType().GetCustomAttributes(typeof(ValueTypeAttribute), false).Any());

            var cs = ConfigurationManager.ConnectionStrings["Project1"].ConnectionString;

            var configuration = ConfigurationBuilder.New(true)
                .ForSql2008(cs)
                .MapEntities(typeof (User).Assembly.GetTypes(), MatchEntities.WithIdProperty);
            //Environment.UseReflectionOptimizer = false;
            configuration.SetProperty(Environment.GenerateStatistics, "true");
            configuration.SetProperty(Environment.BatchSize, "10");
            configuration.SetProperty(Environment.ConnectionDriver,
                                      typeof(ProfiledSql2008ClientDriver).AssemblyQualifiedName);

            new SchemaUpdate(configuration).Execute(s => Debug.WriteLine(s), true);

            {
                //Set up some black magic that allows us to use Fac to create our entities
                Fac.Default.Interceptors.Add(t => new MarkerInterceptor(t));
                Fac.Default.TypesToImplement.Add(t => typeof (IMarkerInterface));
                configuration.InterceptObjectInstantiation(container.Resolve<ISessionFactory>, Fac.New);
            }
            var sf = configuration.BuildSessionFactory();
            NullabilityRules.AddNotNullAttribute<NotNullAttribute>();

            //NhCodeFirst.UserTypes.SerializedUserType.Deserialize = JsonSerializer.DeserializeFromString;
            //NhCodeFirst.UserTypes.SerializedUserType.Serialize = JsonSerializer.SerializeToString;

            configuration.ExecuteAuxilliaryDatabaseScripts(sf);

            container.RegisterInstance(sf);
            container.Register(k => k.Resolve<ISessionFactory>().OpenSession()).WithLifetimeManager(lifetime);
        }
开发者ID:jpoehls,项目名称:Template,代码行数:36,代码来源:NHibernateConfigurator.cs


注:本文中的IocContainer.RegisterInstance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。