/// <summary> /// Gets the content types which can be assigned to a type or else /// if the type is a container, the content types it can contain /// </summary> /// <param name="targetType">the type</param> /// <returns>list of types which can be assigned to / contained by a type</returns> public static List <Type> GetAssignableContentTypes(Collator coll, Type targetType) { List <Type> types = AllContentTypes.Where(t => targetType.IsAssignableFrom(t)).ToList(); if (types.Count > 0) { return(types); } types = AllContentTypes.Where(t => coll.ContainerType(t) == targetType).ToList(); if (types.Count > 0) { return(types); } throw new Exception("Type " + targetType.FullName + " cannot contain any content types, it may need to be registered in LyniconConfig"); }