コード例 #1
0
 public static void Scavenge()
 {
     foreach (Type serviceType in ServiceInstancePool.Keys)
     {
         lock (serviceType)
         {
             WeakReferenceCollection instanceReferenceList = ServiceInstancePool[serviceType];
             for (int i = instanceReferenceList.Count - 1; i > -1; i--)
             {
                 if (instanceReferenceList[i].Target == null)
                 {
                     instanceReferenceList.RemoveAt(i);
                 }
             }
         }
     }
 }