Les méthodes génériques en général sont nouvelles pour moi. Besoin d'une méthode qui renvoie une collection d'un type générique, mais prend également une collection du même type générique et prendMéthodes génériques en C#
Expression<Func<GenericType, DateTime?>>[] Dates
paramètre
. T tout au long de la fonction suivante doit être du même type, donc en ce moment j'utilisais (version simplifiée):
private static Collection<T> SortCollection<T>(Collection<T> SortList, Expression<Func<T, DateTime>>[] OrderByDateTime)
{
return SortList.OrderBy(OrderByDateTime[0]);
}
mais je reçois l'erreur:
Error: The type arguments for method 'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumberable, System.Func)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
Y at-il de toute façon de le faire?
Je l'essaie et il dit: 'System.Collections.ObjectModel.Collection' ne contient pas une définition de 'OrderBy' et la meilleure surcharge de méthode d'extension 'System.Linq.Enumerable.OrderyBy (System .Collections.Generic.IEnumerable , System.Funct ) 'a certains arguments non valides. –
Steph
ok try this: retourner une nouvelle Collection (SortList.OrderBy (OrderByDateTime [0] .Compile()). ToList()); –
bien c'est au moins ne pas me donner une erreur de compilateur, j'espère que cela va fonctionner :-) Merci! – Steph