C# 6.0 cho biết thêm ?.
điều hành này mới mà bây giờ cho phép để gọi những sự kiện như vậy:Tôi có thể sử dụng toán tử điều kiện null thay vì mẫu tăng sự kiện cổ điển không?
someEvent?.Invoke(sender, args);
Bây giờ, từ những gì tôi đọc, toán tử này đảm bảo rằng someEvent được đánh giá một lần. Là nó đúng để sử dụng loại gọi thay vì mô hình cổ điển:
var copy = someEvent
if(copy != null)
copy(sender, args)
Tôi nhận thức được certain scenarios nơi trên phiên bản của mô hình sẽ yêu cầu khóa bổ sung, nhưng chúng ta hãy giả định trường hợp đơn giản.
Có. Và có một bài đăng blog của Jon Skeet về việc làm điều đó. – i3arnon
Nó thực sự là một tập hợp các toán tử: '? .','? ['. –
@Paulo Morgado, tôi đã sửa nó trong câu hỏi, tuy nhiên tôi đã tìm thấy trong khung nhìn cây cú pháp Linqpad5, rằng nó là duy nhất '?' Được phân tích cú pháp như một toán tử, sau '[0]' được phân tách thành 'SingleMemberAccessExpression hoặc một số biểu thức khác trong trường hợp truy cập '.'. –