Mit ReSharper kann man unter Verwendung von [CanBeNull]
oder [NotNull]
angeben, dass etwas null sein kann oder niemals null sein wird. Es scheint jedoch nur möglich zu sein, die Vorteile dieser Nullanalyse für Ihren eigenen Code zu nutzen, wo Sie selbst das Attribut hinzufügen können.ReSharper - Anwenden von [CanBeNull] -Attribut auf Zeug in externen Baugruppen?
Gibt es eine Möglichkeit, Methoden, Eigenschaften, Felder usw. von anderen Assemblys (wo die Quelle nicht vorhanden ist) als möglicherweise null oder nie null auf ähnliche Weise zu markieren?
Zum Beispiel könnte man wollen Unity GetComponent()
Methode mit [CanBeNull]
, markieren, so dass ReSharper kann Ihnen helfen, Bereiche zu identifizieren, wo NullReferenceException
s geworfen werden kann. Da wir jedoch den Quellcode von Unity nicht haben, können wir ihn nicht selbst hinzufügen.
Gibt es eine andere Möglichkeit, dies zu tun? Vielleicht hat ReSharper eine Art interne Datei, in der Sie Referenzen zu Assembly-Mitgliedern, die [NotNull]
oder [CanBeNull]
sind, manuell hinzufügen können, ohne Attribute direkt zu verwenden.