public void WriteLine(string text) { text = string.Format("{0} {1}", "{" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "}", text); if (BroadcastingEvent != null) { BroadcastingEventHandler broadcastingEventHandler = null; //记录事件订阅者委托的索引,为方便标识,从1开始。 int index = 1; foreach (Delegate delegateObject in BroadcastingEvent.GetInvocationList()) { try { broadcastingEventHandler = (BroadcastingEventHandler)delegateObject; broadcastingEventHandler(text); } catch { Console.WriteLine("事件订阅者【{0}】发生错误,系统将取消事件订阅!", index); BroadcastingEvent -= broadcastingEventHandler; } index++; } } else { // MessageBox.Show("事件未被订阅或订阅发生错误!"); } Console.WriteLine(text); }