Пример #1
0
 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!");
     }
 }
Пример #2
0
        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);
        }