Bạn nên luôn luôn bỏ đăng ký xử lý sự kiện của bạn bằng cách - = trước khi thiết lập để null hoặc xử lý đối tượng của bạn (chỉ cần thiết lập biến thành vô giá trị sẽ không ngừng đăng ký tất cả các bộ xử lý), như được đưa ra trong đoạn trích MSDN dưới đây:
Để ngăn trình xử lý sự kiện của bạn không được gọi khi sự kiện được nâng lên, chỉ cần hủy đăng ký khỏi sự kiện. Để ngăn chặn rò rỉ tài nguyên, điều quan trọng là phải hủy đăng ký khỏi các sự kiện trước khi bạn vứt bỏ một đối tượng thuê bao. Cho đến khi bạn hủy đăng ký từ một sự kiện, đại biểu multicast làm nền tảng cho sự kiện trong đối tượng xuất bản có tham chiếu đến đại biểu đóng gói trình xử lý sự kiện của người đăng ký. Miễn là đối tượng xuất bản giữ tham chiếu đó, đối tượng người đăng ký của bạn sẽ không bị thu gom rác.
giải thích tại liên kết dưới đây trong Unsubscribing
phần:
How to: Subscribe to and Unsubscribe from Events (C# Programming Guide)
Xem thêm thông tin tại địa chỉ:
Why you should always unscubscribe event handlers
Cảm ơn! Bạn có thể cho tôi một số liên kết của microsoft hay cách khác để xác minh nó? –
Kiểm tra điều này: http://msdn.microsoft.com/en-us/library/ms366768(v=vs.90).aspx – Azodious
@Dor Bạn không cần nó - +3 (và có thể nhiều hơn vào thời điểm tôi được thực hiện) là đủ để bạn biết rằng nó là đúng. Tuy nhiên - cuộc thảo luận về các sự kiện từ ngày VS2003 này sẽ làm rõ ... http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx –