コード例 #1
0
        public void RemoveObserver(object person)
        {
            Queue <Person2> temp = new Queue <Person2>();
            Person2         p    = person as Person2;

            while (WaitList.Count > 0 && p != null)
            {
                Person2 next = WaitList.Dequeue();
                if (next.Equals(p))
                {
                    break;
                }
                else
                {
                    temp.Enqueue(p);
                }
            }

            if (temp.Count > 0)
            {
                while (WaitList.Count > 0)
                {
                    temp.Enqueue(WaitList.Dequeue());
                }
                WaitList = temp;
            }
        }