/// <summary>
        /// Initialize to get interface, implementation to register.
        /// </summary>
        /// <param name="moduleRegister">The module register.</param>
        /// <param name="type">The type.</param>
        public void Initialize(IModuleRegister moduleRegister, TypeInfo type)
        {
            if (Equals(type, null))
            {
                return;
            }

            moduleRegister.Register(type.GetInterfaces().FirstOrDefault(), type, IsSingleton(type));
        }
        /// <summary>
        /// Initialize to get interface, implementation to register.
        /// </summary>
        /// <param name="moduleRegister">The module register.</param>
        /// <param name="type">The type.</param>
        public void Initialize(IModuleRegister moduleRegister, TypeInfo type)
        {
            if (Equals(type, null))
            {
                return;
            }

            // Check assembly name include in register assembly names
            moduleRegister.Register(type.GetInterfaces().FirstOrDefault(), type, this.GetLifetime(type));
        }