Ich habe protected override void OnFormClosing(FormClosingEventArgs e)
in einigen meiner Code-und Code-Analyse gibt eine CA1062, weil ich nicht überprüfen, ob e
Null ist.Können EventArgs jemals null sein?
Konvention ist, dass EventArgs
niemals null sein sollte; deshalb haben wir EventArgs.Empty
. Sicher, ich könnte dumm sein und null
statt EventArgs.Empty
übergeben, wenn ein Ereignis ausgelöst wird, aber hier wird es etwas automatisch generierten Code sein, der das FormClosing-Ereignis auslösen wird, so dass ich nur die Warnung unterdrückt.
Gibt es einige Fälle, in denen EventArgs vom Framework als null eingestuft werden kann und nicht vom Programmierer verursacht wird?
'EventArgs' ist ein Referenztyp und es gibt keinen Schutz in C# gegen 'Null'-Werte auf Referenztypen. – Enigmativity
[CA1062] (https://msdn.microsoft.com/en-us/library/ms182182.aspx) ist eine generische Warnung, Sie können sie deaktivieren/ignorieren, falls ** Sie ** niemals 'null' übergeben (weil Sie kann Unterklasse Formular und steigen Ereignis selbst, etc.). * Standard * [tag: winforms] -Ereignishandler sollten niemals "null" erhalten. – Sinatr
Es sollte nicht null sein, da es an erster Stelle nur ausgelöst wird, wenn das Ereignis eintritt, also sind wir sicher, dass das Ereignis ausgelöst wird und wir erwarten, dass die Instanz dieses Ereignisses in unserem Listener – Sherlock