protected void OnListAdded(T value) { if (ListAdded != null) { ListAdded.Invoke(this, new ArrayChangedEvent <T>(ArrayChengedAction.Add, value)); } else { throw new Exception($"Event Added is null!"); } }
public void Write(LogInfoType logType, string log, int pipe_id) { var f_log = LogHelpper.Format(logType, log, pipe_id); lock (lock_object) { LogList.Enqueue(f_log); // 上限行数を超えていたら末尾のものを取り除く。 if (LogList.Count > MaxLine) { LogList.Dequeue(); } } // イベントハンドラが設定されていればcallbackしたいが、lock解除してからでないとdead lockになる。 ListAdded?.Invoke(f_log); }