public void Remove(TData alert) { if (alert == null) { return; } alert.OnBeRemoved(); Data.Remove(alert); if (alert.Type == AlertType.Interaction) { InteractionData.Remove(alert); Callback_OnInteractionChange?.Invoke(alert); } else if (alert.Type == AlertType.Disposable) { DisposableData.Remove(alert); Callback_DisposableChange?.Invoke(alert); } else if (alert.Type == AlertType.Continue) { ContinueData.Remove(alert); Callback_ContinueChange?.Invoke(alert); } //移除Article foreach (var item in alert.SelfArticle) { ArticleMgr.RemoveArticle(item); } foreach (var item in alert.TargetArticle) { ArticleMgr.RemoveArticle(item); } if (BaseGlobal.IsUnReadData) { Callback_OnRemoved?.Invoke(alert); } }