Недавно мне пришлось реализовать функциональность Dispose (), и я наткнулся на однострочный метод, двухстрочный метод и более полные методы.
Однострочный метод / функция мог бы просто вызвать что-то вроде context.Dispose, но я выбрал следующий метод:
bool _disposed = false;
public void Dispose(bool disposing)
{
if (!_disposed && disposing)
{
_context.Dispose();
}
_disposed = true;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
Является ли этот синтаксис просто, чтобы остановить вызов Dispose () более одного раза?
SafeHandle
как прямой владелец неуправляемых ресурсов и простойDispose
метод без финализатора как косвенный владелец. - person CodesInChaos   schedule 26.08.2012