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


C# Container.RegisterWithContext方法代码示例

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


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

示例1: RegisterWithNullContextFactoryThrowsArgumentNullException

        public void RegisterWithNullContextFactoryThrowsArgumentNullException()
        {
            var container = new Container();

            var ex = Assert.Throws<ArgumentNullException>(() => container.RegisterWithContext<ILog>(null));

            Assert.Equal("contextBasedFactory", ex.ParamName);
        }
开发者ID:Georadix,项目名称:Georadix.NET,代码行数:8,代码来源:ContextDependentExtensionsFixture.cs

示例2: RegisterWithContextProvidesRootContextOnResolve

        public void RegisterWithContextProvidesRootContextOnResolve()
        {
            var container = new Container();

            container.RegisterWithContext<ILog>(dependencyContext =>
            {
                return new Logger(dependencyContext.ImplementationType);
            });

            var logger = container.GetInstance<ILog>();

            Assert.NotNull(logger);
            Assert.Null(logger.Type);
        }
开发者ID:Georadix,项目名称:Georadix.NET,代码行数:14,代码来源:ContextDependentExtensionsFixture.cs

示例3: RegisterWithContextProvidesDependencyContextOnResolveForDependentType

        public void RegisterWithContextProvidesDependencyContextOnResolveForDependentType()
        {
            var container = new Container();

            container.RegisterWithContext<ILog>(dependencyContext =>
            {
                return new Logger(dependencyContext.ImplementationType);
            });

            var controller = container.GetInstance<Controller>();

            Assert.NotNull(controller);
            Assert.NotNull(controller.Logger);
            Assert.Equal(controller.GetType(), controller.Logger.Type);
        }
开发者ID:Georadix,项目名称:Georadix.NET,代码行数:15,代码来源:ContextDependentExtensionsFixture.cs

示例4: Application_Start

        protected void Application_Start(object sender, EventArgs e)
        {
            var container = new Container();

            //Package registration;
            container.RegisterPackages();

            //ILogger registration;
            container.RegisterWithContext<ILogger>(context => LogManager.GetLogger(context.ImplementationType.Name));

            //WCF integration;
            SimpleInjectorServiceHostFactory.SetContainer(container);

            //Service initialisation;
            var initialiser = container.GetInstance<IInitialiser>();
            initialiser.Initialise();
        }
开发者ID:yesmarket,项目名称:CommsDeliveryManagement,代码行数:17,代码来源:Global.asax.cs

示例5: InitContainer

        internal void InitContainer()
        {
            var assembly = typeof(IOptionsDialogWatcher).Assembly;
            var exportedTypes = assembly.GetExportedTypes();
            var classes = exportedTypes.Where(t => t.IsClass);
            var interfaces = exportedTypes.Where(t => t.IsInterface);

            var registrations = from @interface in interfaces
                                let types = classes.Where(@interface.IsAssignableFrom)
                                where types.Count() == 1
                                select new
                                {
                                    Interface = @interface,
                                    Implementation = types.First()
                                };

            _container = new Container();
            _container.RegisterAll<IWindowModifier>(classes.Where(typeof(IWindowModifier).IsAssignableFrom));
            _container.RegisterWithContext(CyclicWorkerContexts);
            registrations.ToList().ForEach(r => _container.Register(r.Interface, r.Implementation));
        }
开发者ID:mhoyer,项目名称:VSOptionsDialogResizer,代码行数:21,代码来源:Connect.container.cs


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