由于应用程序中的内存泄漏导致其速度变慢,我需要释放资源,因此不确定如何处置此类。我不确定如何处置下面的类,因为某些属性未实现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);
}
}
最佳答案
代码中有一个错误:
protected override void Dispose(bool disposing)
{
disposing = true;
Dispose(disposing);
}
是递归的,如果只是在堆空间用完之前要坐在那里一会儿。
要回答您的问题:如果是您的代码,则只需更改
Dispose
方法以释放适当的资源。如果不是,那么您将必须询问谁编写了它来修复它,或者考虑编写自己的版本(无错误)。关于c# - 如何处理具有无法实现IDisposable的属性的类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18403536/