Điều này dường như là cảnh báo 67 và do đó có thể được ngăn chặn bằng:
#pragma warning disable 67
Đừng quên khôi phục nó càng sớm càng tốt (sau khi khai báo sự kiện) với:
#pragma warning restore 67
Tuy nhiên, tôi sẽ kiểm tra lại và đảm bảo rằng bạn đang nâng cao sự kiện ở đâu đó, không chỉ đăng ký tham gia. Việc trình biên dịch đưa ra 20 cảnh báo chứ không phải 20 lỗi khi bạn nhận xét sự kiện cũng đáng ngờ ...
Cũng có một bài báo thú vị về cảnh báo này và cụ thể cách nó áp dụng cho các giao diện; có một gợi ý hay về cách đối phó với các sự kiện "không sử dụng". Các phần quan trọng là:
Câu trả lời đúng là phải rõ ràng về những gì bạn mong đợi từ sự kiện, mà trong trường hợp này, không là gì:
public event EventHandler Unimportant
{
add { }
remove { }
}
Điều này sẽ ngăn chặn rõ ràng cảnh báo, cũng như việc triển khai thêm do trình biên dịch tạo ra của một sự kiện bình thường. Và như một lợi ích bổ sung khác, nó khiến người ta phải suy nghĩ về việc triển khai không làm gì này có thực sự là cách triển khai tốt nhất hay không. Ví dụ: nếu sự kiện không quá quan trọng vì nó không được hỗ trợ, chẳng hạn như các khách hàng dựa vào chức năng có thể gặp lỗi nếu không có nó, tốt hơn là nên chỉ ra rõ ràng sự thiếu hỗ trợ và thất bại nhanh chóng bằng cách ném một ngoại lệ:
public event EventHandler Unsupported
{
add { throw new NotSupportedException(); }
remove { }
}
Tất nhiên, một giao diện có thể được triển khai hữu ích mà không có một số phần chức năng của nó đôi khi là một dấu hiệu cho thấy giao diện đó không được gắn kết một cách tối ưu và nên được chia thành các giao diện riêng biệt.