コード例 #1
0
        /// <summary>
        /// Registers a type with it's implementation if it's not registered before.
        /// </summary>
        /// <param name="iocRegistrar">Registrar</param>
        /// <param name="type">Type of the class</param>
        /// <param name="impl">The type that implements <paramref name="type"/></param>
        /// <param name="lifeStyle">Lifestyle of the objects of this type</param>
        /// <returns>True, if registered for given implementation.</returns>
        public static bool RegisterIfNot(this IIocRegistrar iocRegistrar, Type type, Type impl, DependencyLifeStyle lifeStyle = DependencyLifeStyle.Singleton)
        {
            if (iocRegistrar.IsRegistered(type))
            {
                return(false);
            }

            iocRegistrar.Register(type, impl, lifeStyle);
            return(true);
        }
コード例 #2
0
        /// <summary>
        /// Registers a type as self registration if it's not registered before.
        /// </summary>
        /// <typeparam name="T">Type of the class</typeparam>
        /// <param name="iocRegistrar">Registrar</param>
        /// <param name="lifeStyle">Lifestyle of the objects of this type</param>
        public static void RegisterIfNot <T>(this IIocRegistrar iocRegistrar, DependencyLifeStyle lifeStyle = DependencyLifeStyle.Singleton)
            where T : class
        {
            if (iocRegistrar.IsRegistered <T>())
            {
                return;
            }

            iocRegistrar.Register <T>(lifeStyle);
        }
コード例 #3
0
        /// <summary>
        /// Registers a type with it's implementation if it's not registered before.
        /// </summary>
        /// <typeparam name="TType">Registering type</typeparam>
        /// <typeparam name="TImpl">The type that implements <see cref="TType"/></typeparam>
        /// <param name="iocRegistrar">Registrar</param>
        /// <param name="lifeStyle">Lifestyle of the objects of this type</param>
        public static void RegisterIfNot <TType, TImpl>(this IIocRegistrar iocRegistrar, DependencyLifeStyle lifeStyle = DependencyLifeStyle.Singleton)
            where TType : class
            where TImpl : class, TType
        {
            if (iocRegistrar.IsRegistered <TType>())
            {
                return;
            }

            iocRegistrar.Register <TType, TImpl>(lifeStyle);
        }
コード例 #4
0
ファイル: ConfigurationExtensions.cs プロジェクト: d18zj/qim
        public static IIocAppConfiguration CreateIocAppConfiguration(this IAppConfiguration configuration,
                                                                     IIocRegistrar registrar, IIocResolver resolver)
        {
            Ensure.NotNull(configuration, nameof(configuration));
            var appConfiguration = configuration as AppConfiguration;

            if (appConfiguration == null)
            {
                throw new InvalidOperationException($"The method only support for AppConfiguration.");
            }
            RegisterCommonComponents(registrar);
            var result = new IocAppConfiguration(appConfiguration.ConfigDictionary, registrar, resolver);

            registrar.RegisterInstance <IIocAppConfiguration>(result);
            registrar.RegisterInstance <IAppConfiguration>(result);
            return(result);
        }
コード例 #5
0
        /// <summary>
        /// Registers the registrar with the IoC container.
        /// </summary>
        /// <param name="container">
        /// The IoC container with which the registrar will be registered.
        /// </param>
        /// <param name="registrar">
        /// The registrar to be registered.
        /// </param>
        /// <returns>The <paramref name="container"/>.</returns>
        public static IUnityContainer RegisterRegistrar(this IUnityContainer container, IIocRegistrar registrar)
        {
            if (registrar is null)
            {
                throw new ArgumentNullException(nameof(registrar));
            }

            registrar.Register(container);
            return(container);
        }
コード例 #6
0
 public RegistrarAndResolverTests()
 {
     registrar = LocalIocManager.Resolve <IIocRegistrar>();
     resolver  = LocalIocManager.Resolve <IIocResolver>();
 }
コード例 #7
0
 public Registrar_And_Resolver_Tests()
 {
     _registrar = localIocManager.Resolve <IIocRegistrar>();
     _resolver  = localIocManager.Resolve <IIocResolver>();
 }
コード例 #8
0
 public RegistrarAndResolverTests()
 {
     _registrar = LocalIocManager.Resolve<IIocRegistrar>();
     _resolver = LocalIocManager.Resolve<IIocResolver>();
 }
コード例 #9
0
 public IocAppConfiguration(IDictionary <string, object> dicts, IIocRegistrar registrar, IIocResolver resolver)
 {
     ConfigDictionary = dicts;
     Registrar        = registrar;
     Resolver         = resolver;
 }