Lassen Sie uns sagen, ich habe eine ErweiterungsmethodeC#: Best Practice für "dieses" Argument in Erweiterungsmethoden Validierung
public static T TakeRandom<T>(this IEnumerable<T> e)
{
...
das Argument e Zur Validierung sollte ich:
A) if (e == null) throw new Nullreferenceexception()
B) if (e == null) neues Argument werfen ("e")
C) überprüfe Nicht e
Was ist der Konsens?
Mein erster Gedanke ist immer Argumente zu validieren, so eine ArgumentNullException geworfen. Da TakeRandom() zu einer Methode von e wird, sollte es wiederum eine NullReferenceException sein. Aber wenn es eine NullReferenceException ist, wenn ich versuche, ein Mitglied von e innerhalb von TakeRandom() zu verwenden, wird sowieso NullReferenceException ausgelöst.
Vielleicht sollte ich mit Reflector Peak und herausfinden, was das Framework tut.
Ich hatte genau diese Frage heute in meinem Kopf. Muss StackOverflow.com lieben - Es hat alle Antworten (und Fragen, manchmal mehrmals). :) – orj