BlogSharp.CastleExtensions.DependencyResolvers.ListResolver.CanResolve C# (CSharp) Method

CanResolve() public method

public CanResolve ( CreationContext context, ISubDependencyResolver parentResolver, ComponentModel model, DependencyModel dependency ) : bool
context Castle.MicroKernel.CreationContext
parentResolver ISubDependencyResolver
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
return bool
        public bool CanResolve(CreationContext context, ISubDependencyResolver parentResolver,
            ComponentModel model,
            DependencyModel dependency)
        {
            if (dependency.IsOptional)
                return false;
            bool result = dependency.TargetType != null &&
                          dependency.TargetType.GetGenericArguments().Length != 0 &&
                          typeof (IList<>)
                          	.MakeGenericType(dependency.TargetType.GetGenericArguments()[0])
                          	.IsAssignableFrom(dependency.TargetType);
            return result;
        }