Tôi vừa triển khai Clone từ ICloneable và nhận ra rằng các đăng ký sự kiện từ cá thể nguồn của tôi cũng được theo sau. Có cách nào tốt để xóa tất cả những thứ đó không?Xóa tất cả đăng ký sự kiện (Clone linked)
Hiện tại tôi đang sử dụng một vài vòng lặp này cho mọi sự kiện tôi phải xóa mọi thứ.
foreach (var eventhandler in OnIdChanged.GetInvocationList())
{
OnIdChanged -= (ItemEventHandler) eventhandler;
}
foreach (var eventhandler in OnNameChanged.GetInvocationList())
{
...
Điều này làm việc tốt nhưng cắt bớt mã một chút. Hầu hết lo lắng để có được sự kiện lơ lửng.
điều này đã hoạt động nên tôi đang đánh dấu là một câu trả lời. mặc dù tôi đang xem xét tái cấu trúc sau khi câu trả lời từ Randolpho – mattias
@mattias, tôi chỉ xem xét câu hỏi của bạn chứ không phải là ý nghĩa của giải pháp của bạn trong câu trả lời của tôi. Điều Randolpho gợi ý có lẽ tốt hơn. –
nó vẫn giúp trong ngắn hạn. cảm ơn! – mattias