Étant donné le code suivant, j'ai du mal à renvoyer un dictionnaire.ToDictionary ne fonctionne pas comme prévu
[JsonProperty]
public virtual IDictionary<Product, int> JsonProducts
{
get
{
return Products.ToDictionary<Product, int>(x => x.Key, v => v.Value);
}
}
public virtual IDictionary<Product, int> Products { get; set; }
Je reçois les erreurs suivantes ..
'System.Collections.Generic.IDictionary' ne contient pas une définition pour 'ToDictionary' et la meilleure surcharge de méthode d'extension « System.Linq.Enumerable .ToDictionary (System.Collections.Generic.IEnumerable, System.Func, System.Collections.Generic.IEqualityComparer) » a des arguments invalides
ne convertit pas 'expression lambda' à 'System.Func'
ne peut pas convertir de 'expression lambda' en 'System.Collections.Generic.IEqualityComparer
Il n'y a rien de spécial à propos de la classe de produit. il est simplement défini comme
class Product
{
public virtual int Id { get; set; }
public virtual String Name { get; set; }
}
@Brad Christie: 'IDictionary 'implements' IEnumerable > 'et il existe une méthode d'extension' IEnumerable >. ToDictionary' défini dans la classe statique 'Enumerable'. –
jason