tôi đang tìm kiếm tại MVC-mini-profiler được thiết kế bởi đội Stack Overflow trên Google Code và một điều trên trang getting started đánh tôi như đặc biệt kỳ lạ:Phương pháp gọi trên tham chiếu null trong ngữ cảnh của mệnh đề đang sử dụng là OK?
var profiler = MiniProfiler.Current; // it's ok if this is null
using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}
Làm thế nào nó có thể là "ok" nếu hồ sơ là null? Dường như tôi gọi Step sẽ ném một số NullReferenceException
. Trong tất cả các năm của tôi lập trình C# Tôi đã không bao giờ được gọi là một phương pháp trên một tham chiếu null trong bất kỳ ngữ cảnh được "ok". Đây có phải là trường hợp đặc biệt trong ngữ cảnh sử dụng không?
tôi có thể hiểu được điều này là OK (không biết nó là gì, nhưng dường như nó là gì?):
using (null)
{
...
}
nhưng gọi một phương thức trên một tham chiếu null có vẻ như nó nên ném một ngoại lệ cho dù nó trong mệnh đề sử dụng. Ai đó có thể vui lòng giải thích cách một cấu trúc như vậy được dịch phía sau hậu trường, vì vậy tôi có thể hiểu tại sao nó là OK để làm điều này?
'Phương pháp mở rộng' hoặc phương pháp thể hiện? – Mehrdad
Bah. Nếu như vậy sẽ giải thích mọi thứ ... –
Đúng. Nó là. Đừng bận tâm. –