Tôi có mã sau trong ứng dụng C# của mình.Cách thức DateTimeFormatInfo.CurrentInfo có thể là
DateTimeFormatInfo.CurrentInfo.DayNames
ReSharper 7.1.1 nêu bật thực tế là DateTimeFormatInfo.CurrentInfo
có thể gây ra ngoại lệ tham chiếu null.
Trong trường hợp nào sẽ xảy ra trường hợp này? Hoặc đây chỉ là một sai lầm trên phần của ReSharper tin rằng bất kỳ đối tượng có tài sản bạn truy cập nên được null kiểm tra?
Bạn có một điểm tuyệt vời. Tôi muốn chắc chắn rằng tôi hiểu tại sao lại như vậy. –
Tôi không biết câu trả lời đúng là gì, nhưng tôi khá chắc chắn câu trả lời này là không chính xác. ReSharper là quá thông minh để chỉ gắn cờ tất cả các tình huống mà một thuộc tính trả về một tham chiếu đối tượng như là một tham chiếu null có thể có lỗi - nếu nó đã làm tất cả các chương trình sẽ nhận được hàng trăm lỗi này. Như một ví dụ truy cập cụ thể, tôi có thể chỉ ra rằng việc sử dụng DateTimeFormatInfo.InvariantInfo.DayNames không bị gắn cờ là lỗi tham chiếu null có thể. – RenniePet
Ai đó nên truy vấn JetBrains để nhận được câu trả lời đúng. Có thể đó là lỗi trong phiên bản 7.1. Hoặc có thể nó có thể xảy ra đối với một số trường hợp rìa kỳ lạ mà thông tin văn hóa hiện tại đã được đặt thành một nền văn hóa do lập trình viên tạo ra mà DateTimeFormatInfo.CurrentInfo thực sự có thể trả về null. – RenniePet