2014-09-26 10 views
0

폐기 할 때 데이터를 내부 큐에 자동으로 추가하는 BinaryWriter를 제공하여 클래스의 사용자에게보다 편안하게 작성하고 싶습니다.BinaryWriter의 Dispose에 후크하기

이 목적을 위해 BinaryWriter의 하위 클래스를 작성하고 Dispose 메서드를 재정의하고 싶습니다. 그러나 Dispose은 가상이 아닙니다. Dispose(bool)에 연결하는 것으로 충분합니까? 아니면 더 나은 방법이 있습니까?

답변

5

BinaryWriter.Dispose()

this.Dispose(true); 

Dispose(bool)이 제대로 작동 그래서 오버라이드 (override)에 대한 호출이 포함되어 있습니다.

+1

+1'Dispose()'는 오버라이드하려는 오버로드와 정확히 일치하는'IDisposable.Dispose (bool)'주위의 래퍼입니다. 'Dispose()'는 외부 코드 소비를 위해 public이고'Dispose (bool)'은 protected virtual 인 것을 주목하십시오. 이유는 조금 분명하다. – Leo