/// <summary>Creates a list to a target element type.</summary> /// <param name="materializer">Materializer used to flow link tracking.</param> /// <typeparam name="T">Element type to enumerate over.</typeparam> /// <typeparam name="TTarget">Element type for list.</typeparam> /// <param name="source">Element source.</param> /// <returns> /// An IEnumerable<T> that iterates over the specified <paramref name="source"/>. /// </returns> /// <remarks> /// This method should be unnecessary with .NET 4.0 covariance support. /// </remarks> internal static List <TTarget> ListAsElementType <T, TTarget>(object materializer, IEnumerable <T> source) where T : TTarget { Debug.Assert(typeof(ODataEntityMaterializer).IsAssignableFrom(materializer.GetType()), "typeof(ODataEntityMaterializer).IsAssignableFrom(materializer.GetType())"); return(ODataEntityMaterializer.ListAsElementType <T, TTarget>((ODataEntityMaterializer)materializer, source)); }
internal static List <TTarget> ListAsElementType <T, TTarget>(object materializer, IEnumerable <T> source) where T : TTarget { return(ODataEntityMaterializer.ListAsElementType <T, TTarget>((ODataEntityMaterializer)materializer, source)); }