/// <summary> /// Gets the multiple CLR resource identifiers for the given CLR resource type. /// </summary> /// <remarks> /// The CLR based resource identifiers can come from either json:api resource objects or /// resource identifiers. /// </remarks> /// <typeparam name="TResource">Type of CLR resource to find.</typeparam> /// <typeparam name="TResourceId">Type of CLR resource identifier.</typeparam> /// <returns>Returns the LINQ-to-objects collection of CLR resource identifiers if they exist, /// empty collection otherwise.</returns> public static IEnumerable <TResourceId> GetResourceIdCollection <TResource, TResourceId>(this IDocumentReader documentReader) where TResource : class, IResource { Contract.Requires(documentReader != null); var clrResourceType = typeof(TResource); var clrResourceIdCollection = documentReader.GetResourceIdCollection <TResourceId>(clrResourceType); return(clrResourceIdCollection); }