public object GetService(Type serviceType)
        {
            if (typeof(IController).IsAssignableFrom(serviceType))
            {
                return(ChildContainer.Resolve(serviceType));
            }

            return(ChildContainer.IsRegistered(serviceType) ? ChildContainer.Resolve(serviceType) : null);
        }
예제 #2
0
        private bool IsRegistered(Type typeToCheck)
        {
            var isRegistered = true;

            if (typeToCheck.IsInterface || typeToCheck.IsAbstract)
            {
                isRegistered = ChildContainer.IsRegistered(typeToCheck);
                if (!isRegistered && typeToCheck.IsGenericType)
                {
                    var openGenericType = typeToCheck.GetGenericTypeDefinition();
                    isRegistered = ChildContainer.IsRegistered(openGenericType);
                }
            }
            return(isRegistered);
        }