Có cách nào bị thông báo khi có một cái gì đó đặt mua một sự kiện trong lớp học của tôi, hay tôi cần phải quấn đăng ký/unsubsription trong các phương pháp ví dụ:Bất kỳ cách nào để được thông báo khi có điều gì đó đăng ký một sự kiện/đại biểu?
public class MyClass : ISomeInterface
{
public event SomeEventHandler SomeEvent; //How do I know when something subscribes?
private void OnSomeEventSubscription(SomeEventHandler handler)
{
//do some work
}
private void OnSomeEventUnsubscription(SomeEventHandler handler)
{
//do some work
}
}
thay vì
public class MyClass : ISomeInterface
{
private SomeEventHandler _someEvent;
public void SubscribeToSomeEvent(SomeEventHandler handler)
{
_someEvent += handler;
//do some work
}
public void UnsubscribeFromSomeEvent(SomeEventHandler handler)
{
_someEvent -= handler;
//do some work
}
}
Lý do Tôi hỏi là vì sự kiện này đã được hiển thị trực tiếp trên ISomeInterface
nhưng việc triển khai cụ thể này cần phải biết khi nào công cụ đăng ký/hủy đăng ký.
Lưu ý rằng với đăng ký sự kiện mã này không an toàn. Một cách dễ dàng để đạt được điều đó là đánh dấu '_someEvent' là sự kiện. – CodesInChaos
Rực rỡ, cảm ơn! – GazTheDestroyer