W moich metodach Dispose (jak ten poniżej), za każdym razem, gdy chcę wywołać someObj.Dispose(), mam również check dla someObj! = Null.Pozbywanie się członków implementujących IDisposable
Czy to z powodu złego projektu z mojej strony? Czy ich metoda jest czystsza, aby stwierdzić, że wszystkie elementy członkowskie (implementujące IDisposable) używane w obiekcie są wywoływane bez ryzyka wyjątku NullReference?
protected void Dispose(bool disposing)
{
if (disposing)
{
if (_splitTradePopupManager != null)
{
_splitTradePopupManager.Dispose();
}
}
}
Dzięki za zainteresowanie.
Uzgodniono, że nie jest to błąd konstrukcyjny. Być może jestem zbyt ostrożny, ale wolę mieć kontrolę zerową, nawet jeśli wiem, że obiekt nigdy nie będzie miał wartości zerowej, jeśli chodzi o materiały jednorazowe. –
@ ccomet: +1, mam takie samo myślenie (nadmiernie ostrożne) w czasie, gdy wywołuję Dispose() na obiekcie. –