สิ่งนี้ดูเหมือนจะเป็นการเตือน 67และสามารถระงับได้ด้วย:
#pragma warning disable 67
อย่าลืมเรียกคืนโดยเร็วที่สุด (หลังจากประกาศเหตุการณ์) ด้วย:
#pragma warning restore 67
แต่ฉันต้องการตรวจสอบอีกครั้งและให้แน่ใจว่าคุณยกที่ใดที่หนึ่งเหตุการณ์ที่เกิดขึ้นไม่เพียงแค่สมัครเป็นสมาชิกกับมัน ความจริงที่ว่าคอมไพเลอร์พ่นคำเตือน 20 คำและไม่ใช่ 20 ข้อผิดพลาดเมื่อคุณแสดงความคิดเห็นเกี่ยวกับเหตุการณ์นั้นก็น่าสงสัยเช่นกัน ...
นอกจากนี้ยังมีบทความที่น่าสนใจเกี่ยวกับคำเตือนนี้และวิธีใช้กับอินเทอร์เฟซโดยเฉพาะ มีคำแนะนำที่ดีในการจัดการกับเหตุการณ์ที่ "ไม่ได้ใช้" ส่วนที่สำคัญ ได้แก่
คำตอบที่ถูกต้องคือต้องชัดเจนเกี่ยวกับสิ่งที่คุณคาดหวังจากเหตุการณ์ซึ่งในกรณีนี้คืออะไร:
public event EventHandler Unimportant
{
add { }
remove { }
}
การดำเนินการนี้จะระงับคำเตือนอย่างหมดจดรวมทั้งการใช้งานเหตุการณ์ปกติที่สร้างโดยคอมไพเลอร์ และในฐานะที่เป็นประโยชน์เพิ่มเติมอีกประการหนึ่งจะช่วยเตือนให้เราคิดว่าการใช้งานแบบไม่ต้องทำอะไรนี้เป็นการใช้งานที่ดีที่สุดหรือไม่ ตัวอย่างเช่นหากเหตุการณ์ไม่สำคัญมากนักเนื่องจากไม่ได้รับการสนับสนุนดังนั้นลูกค้าที่พึ่งพาฟังก์ชันการทำงานมีแนวโน้มที่จะล้มเหลวหากไม่มีเหตุการณ์นั้นอาจเป็นการดีกว่าที่จะระบุอย่างชัดเจนว่าขาดการสนับสนุนและล้มเหลวอย่างรวดเร็วด้วยการโยน ข้อยกเว้น:
public event EventHandler Unsupported
{
add { throw new NotSupportedException(); }
remove { }
}
แน่นอนว่าอินเทอร์เฟซที่สามารถนำไปใช้งานได้อย่างมีประโยชน์โดยที่บางส่วนของฟังก์ชันการทำงานบางครั้งอาจเป็นข้อบ่งชี้ว่าอินเทอร์เฟซไม่ได้เชื่อมโยงกันอย่างเหมาะสมที่สุดและควรแยกออกเป็นอินเทอร์เฟซแยกต่างหาก