Mam ogólną metodę z tym (obojętnym) kodem (tak, wiem, że IList ma predykaty, ale mój kod nie używa IList, ale innej kolekcji, w każdym razie nie ma to znaczenia dla pytania ...)
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.
}
Daje mi to błąd kompilacji
„Nie można przekonwertować wartości null na parametr„ T ”, ponieważ może to być typ wartości. Rozważ użycie zamiast tego parametru„ default (T) ”.”
Czy mogę uniknąć tego błędu?
null
bez względu naT
to, czy jestObject
lubint
czychar
.