J'ai une méthode générique avec ce code (factice) (oui, je sais que IList a des prédicats, mais mon code n'utilise pas IList mais une autre collection, de toute façon ce n'est pas pertinent pour la question ...)
static T FindThing<T>(IList collection, int id) where T : IThing, new()
{
foreach T thing in collecion
{
if (thing.Id == id)
return thing;
}
return null; // ERROR: Cannot convert null to type parameter 'T' because it could be a value type. Consider using 'default(T)' instead.
}
Cela me donne une erreur de construction
"Impossible de convertir null en paramètre de type 'T' car il pourrait s'agir d'un type de valeur. Envisagez d'utiliser plutôt 'default (T)'."
Puis-je éviter cette erreur?
null
indépendamment du fait queT
estObject
ouint
ouchar
.