Exemplo n.º 1
0
        /// <summary>
        /// 清空容器的所有实例,绑定,别名,标签,解决器
        /// </summary>
        public void Flush()
        {
            lock (syncRoot)
            {
                var releaseList = new string[instances.Count];
                var i           = 0;
                foreach (var instance in instances)
                {
                    releaseList[i++] = instance.Key;
                }
                foreach (var service in releaseList)
                {
                    Release(service);
                }

                binds.Clear();
                instances.Clear();
                aliases.Clear();
                aliasesReverse.Clear();
                tags.Clear();
                resolving.Clear();
                release.Clear();
                findType.Clear();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 当释放时
        /// </summary>
        public void OnDestroy()
        {
            var cursor = destroy.GetEnumerator();

            while (cursor.MoveNext())
            {
                cursor.Current.OnDestroy();
            }
            cursor.Dispose();

            update.Clear();
            lateUpdate.Clear();
            destroy.Clear();
            loadSet.Clear();
        }