Exemplo n.º 1
0
        /// <summary>
        /// 回收
        /// </summary>
        public int Collect()
        {
            int count = gcList.Count;

            if (count > 0)
            {
                lock (gcList)
                {
                    for (int i = 0; i < count; i++)
                    {
                        int    reference = gcList[i].reference;
                        string name      = gcList[i].name;
                        Collect(reference, name, true);
                    }

                    gcList.Clear();
                    return(count);
                }
            }

            for (int i = 0; i < subList.Count; i++)
            {
                subList[i].Dispose();
            }
            subList.Clear();
            translator.Collect();

            return(0);
        }