นี่คือฟังก์ชันที่จะวางฟังก์ชันตัวจัดการเหตุการณ์ใหม่ทุกที่ที่คุณต้องการในรายการการเรียกใช้ผู้ร่วมประชุมหลายคน
    private void addDelegateAt(ref YourDelegate initial, YourDelegate newHandler, int position)
    {
        Delegate[] subscribers = initial.GetInvocationList();
        Delegate[] newSubscriptions = new Delegate[subscribers.Length + 1];
        for (int i = 0; i < newSubscriptions.Length; i++)
        {
            if (i < position)
                newSubscriptions[i] = subscribers[i];
            else if (i==position)
                newSubscriptions[i] = (YourDelegate)newHandler;
            else if (i > position)
                newSubscriptions[i] = subscribers[i-1];
        }
        initial = (YourDelegate)Delegate.Combine(newSubscriptions);
    }
จากนั้นคุณสามารถลบฟังก์ชันได้ตลอดเวลาด้วยเครื่องหมาย '- =' ทุกที่ในรหัสของคุณสะดวก
ป.ล. - ฉันไม่ได้จัดการข้อผิดพลาดใด ๆ สำหรับพารามิเตอร์ 'ตำแหน่ง'