Ich habe ein paar Stellen, an denen ich einen generischen Typparameter habe, der nicht auf eine Klasse (oder Struktur) beschränkt ist, und wenn ich versuche, Variablen dieses Typs mit null
unterstreicht Resharper dies und beschwert sich, dass ich möglicherweise einen Werttyp mit null
(ein berechtigter Einwand, gewiss). Gibt es eine akzeptierte Methode, um zu prüfen, ob eine Variable ein Werttyp ist, bevor sie mit null verglichen wird?
Zum Beispiel:
public TObject MyProperty { get; set; }
...
private void SomeMethod()
{
if(MyProperty == null) //Warning here
{
...
}
}
Ich habe mich mit if(!(MyProperty is ValueType) && MyProperty)
--Ist das gültig? Die Warnung bleibt bestehen, aber das hat nicht unbedingt etwas zu bedeuten.