Existe-t-il un attribut simple ou un contrat de données que je peux attribuer à un paramètre de fonction qui empêche null
d'être passé en C # /. NET? Idéalement, cela vérifierait également au moment de la compilation pour s'assurer que le littéral null
n'est utilisé nulle part pour lui et au moment de l'exécution ArgumentNullException
.
Actuellement, j'écris quelque chose comme ...
if (null == arg)
throw new ArgumentNullException("arg");
... pour chaque argument que j'espère ne pas être null
.
Sur la même note, y a-t-il un contraire à celui Nullable<>
par lequel ce qui suit échouerait:
NonNullable<string> s = null; // throw some kind of exception