public void Run() { if (!entity.IsCanceled()) { if (status != null) { entity.DeliverProgress(status.total, status.cur); } else if (isEnd) { entity.DeliverEnd(); } else { entity.DeliverStart(); } } entity = null; status = null; }