퍼블릭 Dispose
메서드를 공개함으로써 클래스의 명시적인 사용자 처분 범위 밖에서 효과적인 'disposability'를 구현하려면 IDispsable
인터페이스를 구현해야합니다. 이것은 예를 들어, 여러 곳에서 including here을 여러 번 적용되었습니다
public class Customer : IDisposable
{
public void Dispose()
{
Dispose(true);
GC.SupressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
//dispose of managed resources
}
//dispose of unmanaged resources
}
~Customer()
{
Dispose(false);
}
}
참고 소멸자 (이 방법은 물결표 ~
로 시작하는) 필요하지만 위의 링크 된 답변에서 자세한 내용을 읽을 수 있습니다 의 상황에 대한 명확성을 위해 무엇 및 이유 -이 질문에 대한 답을 직접.
Init
방법의 경우 constructor을 언급하고 있습니까?
그렇다면 위의 예에서 소멸자를 살펴보십시오. 생성자 (또는 initialiser)은 예를 들어, 같은 방법으로 마이너스 일반적으로 물결과, 플러스 명시 적 액세스 한정자 (public
, private
, 등등)에서 정의 할 수 있습니다 :
public class Customer
{
public Customer()
{
}
}
내가 초기화 독립적 갖고 싶어하고 질문에 언급 된 각 클래스의 메서드를 처리하십시오. –
일회용 클래스는 반드시 IDisposable을 구현해야합니다. 또한, 오버라이드 (override)되거나 확장되는 메소드는'virtual' 수식 자로 적절히 표시되어야합니다. –
@ Mr. 실망 예! 나는 잊었다! –