private static IEnumerable <Type> GetClosedTypesOfInternal(Type type, Type genericTypeDefinition) { Requires.IsNotNull(type, nameof(type)); Requires.IsNotNull(genericTypeDefinition, nameof(genericTypeDefinition)); Requires.IsOpenGenericType(genericTypeDefinition, nameof(genericTypeDefinition)); return (from assigableType in Types.GetTypeHierarchyFor(type) where genericTypeDefinition.IsGenericTypeDefinitionOf(assigableType) select assigableType); }
public bool AppliesTo(Type implementationType, InitializerContext context) => Types.GetTypeHierarchyFor(implementationType).Contains(this.serviceType);
public bool AppliesTo(Type implementationType, InitializerContext context) { var typeHierarchy = Types.GetTypeHierarchyFor(implementationType); return(typeHierarchy.Contains(this.serviceType)); }