Ich habe den folgenden Code in meiner C# Anwendung null sein.Wie kann DateTimeFormatInfo.CurrentInfo
DateTimeFormatInfo.CurrentInfo.DayNames
ReSharper 7.1.1 ist auf den Umstand, dass die DateTimeFormatInfo.CurrentInfo
eine null-Verweisausnahme verursachen könnte.
Unter welchen Umständen würde dies geschehen? Oder ist das nur ein Fehler von ReSharper, der glaubt, dass jedes Objekt, auf dessen Eigenschaft Sie zugreifen, null überprüft werden sollte?
Sie machen einen ausgezeichneten Punkt. Ich wollte sicherstellen, dass ich verstand, warum das so war. –
Ich weiß nicht, was die richtige Antwort ist, aber ich bin mir ziemlich sicher, dass diese Antwort falsch ist. ReSharper ist viel zu schlau, um alle Situationen zu kennzeichnen, in denen eine Eigenschaft eine Objektreferenz als möglichen Nullreferenzfehler zurückgibt - wenn dies der Fall wäre, würden alle Programme Hunderte dieser Fehler erhalten. Als ein spezifisches Gegenbeispiel kann ich darauf hinweisen, dass die Verwendung von DateTimeFormatInfo.InvariantInfo.DayNames nicht als möglicher Nullreferenzfehler gekennzeichnet wird. – RenniePet
Jemand sollte JetBrains abfragen, um die richtige Antwort zu erhalten. Vielleicht ist es ein Fehler in Version 7.1. Oder es ist möglicherweise für einige seltsame Randfälle möglich, bei denen die aktuelle Kulturinformation auf eine vom Programmierer erstellte Kultur gesetzt wurde, dass DateTimeFormatInfo.CurrentInfo tatsächlich null zurückgeben kann. – RenniePet