2013-09-30 2 views
0

Я добавляю объекты зависимости кеша к массиву такого AggregateCacheDependency. когда я заканчиваю с массивом, я распоряжаюсь им. мой вопрос заключается в том, что я должен распоряжаться только массивом, содержащим объекты, или я должен сам распоряжаться объектами?C# cachedependency dispose pattern

ответ

1

Вам не нужно явно удалять объекты в пределах AggregateCacheDependency, поскольку он избавляет от удаления своих объектов. Ниже представлен метоход AggregateCacheDependency, который размещает каждый объект в своем массиве:

protected override void DependencyDispose() 
     { 
      CacheDependency[] array = null; 
      bool flag = false; 
      try 
      { 
       Monitor.Enter(this, ref flag); 
       this._disposed = true; 
       if (this._dependencies != null) 
       { 
        array = (CacheDependency[])this._dependencies.ToArray(typeof(CacheDependency)); 
        this._dependencies = null; 
       } 
      } 
      finally 
      { 
       if (flag) 
       { 
        Monitor.Exit(this); 
       } 
      } 
      if (array != null) 
      { 
       CacheDependency[] array2 = array; 
       for (int i = 0; i < array2.Length; i++) 
       { 
        CacheDependency cacheDependency = array2[i]; 
        cacheDependency.DisposeInternal(); 
       } 
      } 
     }