IDisposable
을 구현하는 개체가 있고 다른 개체와 관련된 Dispose에서 일부 작업을 수행하고 싶습니다. 이 작업이 어떻게 수행되는지 확신 할 수 있습니까? 현재 처리는 if 내부에서 수행됩니다. 나는 그걸 밖에서 꺼낼 수 없다. 맞지?어떤 지점에서 메서드 호출을 강제로 수행하는 방법
NB : _innerObject는 MyClass 인스턴스가 종료 된 후에도 계속 살거나 계속 살 수도 있습니다.
private OtherClass _innerObject;
~MyClass()
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (_disposed)
return;
if (disposing)
{
_innerObject.DoSomeJob();
}
_disposed = true;
}
"직업"이란 무엇을 의미합니까? –
이 부분을 살펴보아야합니다. https://msdn.microsoft.com/en-us/library/system.object.finalize(v=vs.110).aspx –
@AK_ 최종 결론은 제가 아닙니다. _innerObject 상태인지 확인하십시오. _innerObject를 MyClass의 정적 목록에 추가하고 Dispose가 완료되면 제거하려고합니다. 그러나 나는이 매우 깨끗한 것을 발견하지 못합니다 ... – Toto