많은 시간을 요청 받았지만 문제를 언급 한 인터넷에서 한 곳을 찾을 수 없습니다.Dispose 메서드의 상속이 암시 적으로 선언되었습니다.
public class BaseDispose : IDisposable
{
void IDisposable.Dispose()
{
}
}
public class ChildDispose : BaseDispose, IDisposable
{
void IDisposable.Dispose()
{
//var disp = base as IDisposable;
//(base as IDisposable).Dispose();
}
}
관리되지 않는 리소스를 가지고있는 기본 클래스가 있습니다 :
상황
는 해결책이 없습니다 믿고 너무 간단합니다. 어떤 이유로 그들은 IDisposable의 암묵적인 실현을 통해 그들을 처분합니다. 이 기본 클래스에서 파생 된 클래스는 자신과 부모의 리소스를 모두 제거해야합니다.어떻게하면 C#에서이 작업을 수행 할 수 있습니까? 두 라인은 당신이 이러한 클래스 모두에 액세스 할 수 있으면 기본 클래스에 대한 액세스 권한이없는 경우
시골 아일랜드의 한 농민을 멈추게하는 영업 담당자는 "더블린으로 돌아갈 수있는 방법을 알려주시겠습니까?"라고 묻습니다. 그리고 ould fella는 "Dublin? 글쎄, 나는 너에게 한 가지를 말할거야. 나는 여기서 시작하지 않을거야."라고 말합니다. BaseDispose 및 ChildDispose의 소스를 변경할 수 있습니까? 이 Dispose 구현은 미쳐 버려서 [권장 패턴] (http://msdn.microsoft.com/en-us/library/ms182330.aspx) –
에서 멀리 벗어났습니다. @Binary Microsoft에서 온 사람들이 Microsoft에서 권장하는 패턴! 이것은 정확히 System.ServiceModel.ClientBase을 구현 한 방식이기 때문입니다. –
감미로운 f ** k me Jebus! 진심이야? 꺼내 줘. . . –