如何处理具有不实现IDisposable的属性的类?

use*_*073 1 .net c# garbage-collection memory-leaks .net-4.0

不确定如何处理这个类,因为我需要释放资源,因为应用程序中的内存泄漏会导致速度变慢.我不知道如何处理下面的类,因为一些属性没有实现IDisposable.我对c#相当新,所以尽量不要让回复过于复杂.

public class CellItem: IDisposable
    {
        private Timer foo = new Timer();

        public int MedicationDispenseId { get; set; }
        public Enumerations.Timeslot Timeslot { get; set; }
        public DateTime DateAdministered { get; set; }

        protected override void Dispose(bool disposing)
        {
            disposing = true;
            Dispose(disposing);
        }

    }
Run Code Online (Sandbox Code Playgroud)

Sea*_*ean 7

代码中有一个错误:

protected override void Dispose(bool disposing)
{
            disposing = true;
            Dispose(disposing);
}
Run Code Online (Sandbox Code Playgroud)

是递归的,如果只是在没有堆栈空间之前坐在那里一会儿.

回答你的问题:如果是你的代码,那么只需更改Dispose方法即可释放相应的资源.如果不是那么你将不得不问谁写它来修复它或考虑编写自己的(无bug)版本.