Mam metoda rodzajowa z tym (obojętne) kodu (tak jestem świadomy IList ma predykaty, ale mój kod nie używa IList, ale jakiś inny zbiór, w każdym razie to nie ma znaczenia dla kwestii ...)Jak mogę zwrócić NULL z ogólnej metody w C#?
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.
}
to daje mi błąd kompilacji
„nie można przekonwertować wartość null, aby wpisać parametr «T», ponieważ może to być typ wartości. Rozważ użycie«default (T)»zamiast”.
Czy mogę uniknąć tego błędu?
dlaczego to jest wiki tej społeczności? – vitule
Przyczyna Myślałem, że to sprawia, że społeczność tych pytań jest edytowalna? – edosoft