2013-08-23 1 views
2

Я новичок в C# и пытаюсь избавиться от объектов, занимающих большие объемы памяти, поскольку я использовал профилирование памяти и должен утилизировать некоторые ресурсы и вызов метода finalize для GC. Однако IDisposable can not реализует мой класс, почему это так? и как мне реализовать IDispose для моего класса?Shared.CellItem 'не реализует элемент интерфейса' System.IDisposable.Dispose()

public class CellItem: IDisposable 
     { 
      public int MedicationDispenseId { get; set; } 
      public Enumerations.Timeslot Timeslot { get; set; } 
      public DateTime DateAdministered { get; set; } 

      public void dispose() { 

       if (this.MedicationDispenseId != null) { 
        this.dispose(); 

       } 
       if (this.Timeslot != null) 
       { 
        this.dispose(); 

       } 
       if (this.DateAdministered != null) 
       { 
        this.dispose(); 

       } 
      } 

     } 
+0

Даже если вы исправите корпус, вызов 'this.Dispose' внутри' Dispose' - плохая идея. 'int' и' DateTime' не реализуют 'IDisposable', поэтому вы, вероятно, не должны реализовывать' IDisposable' на 'CellItem' вообще. – Henrik

+0

Правда. Спасибо. После некоторого чтения я пришел к такому же выводу. – user2708073

ответ

Смежные вопросы