Ich habe eine generische Methode mit diesem (Dummy-) Code (ja, ich weiß, dass IList Prädikate hat, aber mein Code verwendet nicht IList, sondern eine andere Sammlung, dies ist jedoch für die Frage irrelevant ...)
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.
}
Dies gibt mir einen Build-Fehler
"Null kann nicht in den Typparameter 'T' konvertiert werden, da es sich um einen Werttyp handeln kann. Verwenden Sie stattdessen 'default (T)'."
Kann ich diesen Fehler vermeiden?
nullunabhängig davon , obTistObjectoderintoderchar.