delegate 销毁所有添加引用

 public delegate void LoadFinished();
    public LoadFinished loadCall = null;
public void AddEventTest()
{
loadCall += () => { GameUtil.GoStage((int)_paramData["stageId"]); };
}
//在不知道委托名的情况下解除销毁所有事件委托。
public void Dispose()
{
    if (loadCall != null)
        {
            Delegate[] ar = loadCall.GetInvocationList();
            for (int i = 0; i < ar.Length; i++) loadCall -= ar[i] as LoadFinished;
        }
}

=================

posted @ 2020-09-01 10:24  大刀乱飞  阅读(55)  评论(0)    收藏  举报