Stream.Dispose 메서드

정의

Stream 개체가 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream object.

오버로드

Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

Dispose(Boolean)

Stream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

public:
 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

구현

설명

이 메서드는 스트림을 백업 저장소에 변경 내용을 기록 하 여 리소스를 해제 하려면 스트림을 닫는 삭제 합니다.This method disposes the stream, by writing any changes to the backing store and closing the stream to release resources.

호출 Dispose 에서 사용 하는 리소스는 Stream 다른 용도로 다시 할당 될 수 있습니다.Calling Dispose allows the resources used by the Stream to be reallocated for other purposes. 에 대 한 자세한 내용은 Dispose를 참조 하세요 관리 되지 않는 리소스 정리합니다.For more information about Dispose, see Cleaning Up Unmanaged Resources.

상속자 참고

스트림 개체에 대 한 모든 정리 논리를 Dispose(Boolean)에 저장 합니다.Place all cleanup logic for your stream object in Dispose(Boolean). Close()를 재정의 하지 마십시오.Do not override Close().

이전 버전과 호환성 요구 사항으로 인해이 메서드의 구현이 다른 Dispose 패턴에 대 한 권장 되는 지침을 참고 합니다.Note that because of backward compatibility requirements, this method's implementation differs from the recommended guidance for the Dispose pattern. 이 메서드는 Dispose(Boolean)를 호출 하는 Close()를 호출 합니다.This method calls Close(), which then calls Dispose(Boolean).

Dispose(Boolean)

Stream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

매개 변수

disposing
Boolean

관리되는 리소스와 관리되지 않는 리소스를 모두 해제하려면 true로 설정하고, 관리되지 않는 리소스만 해제하려면 false로 설정합니다.true to release both managed and unmanaged resources; false to release only unmanaged resources.

설명

disposing에 대해 true를 지정 하 여 모든 리소스를 해제 해야 합니다.You should release all resources by specifying true for disposing. disposing true되 면 스트림이 데이터를 기본 버퍼로 플러시하고 다른 종료 가능한 개체에 액세스할 수도 있습니다.When disposing is true, the stream can also ensure data is flushed to the underlying buffer, and access other finalizable objects. 이 못할 종료자 간의 순서 부족으로 인해 종료자에서 호출 합니다.This may not be possible when called from a finalizer due a lack of ordering among finalizers.

스트림이 소스와 통신 하기 위해 운영 체제 핸들을 사용 하는 경우이 목적을 위해 SafeHandle 서브 클래스를 사용 하는 것이 좋습니다.If your stream is using an operating system handle to communicate with its source, consider using a subclass of SafeHandle for this purpose.

이 메서드는 공용 Dispose 메서드 및 Finalize 메서드.This method is called by the public Dispose method and the Finalize method. Dispose 보호 된 호출 Dispose 메서드를 disposing 매개 변수 설정 true합니다.Dispose invokes the protected Dispose method with the disposing parameter set to true. Finalize 호출 Dispose 사용 하 여 disposingfalse합니다.Finalize invokes Dispose with disposing set to false.

상속자 참고

파생 클래스에서 Close() 메서드를 재정의 하지 말고 Dispose(Boolean) 메서드에 모든 스트림 정리 논리를 추가 합니다.In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method.

Dispose()는 다른 개체에서 여러 번 호출할 수 있습니다.Dispose() can be called multiple times by other objects. Dispose(Boolean)를 재정의할 때 이전 Dispose() 호출에서 삭제된 개체를 참조하지 않도록 주의하십시오.When overriding Dispose(Boolean), be careful not to reference objects that have been previously disposed of in an earlier call to Dispose(). 구현 하는 방법에 대 한 자세한 내용은 Dispose(Boolean)를 참조 하세요 Dispose 메서드 구현합니다.For more information about how to implement Dispose(Boolean), see Implementing a Dispose Method.

에 대 한 자세한 내용은 Dispose() 하 고 Finalize()를 참조 하세요 관리 되지 않는 리소스 정리합니다.For more information about Dispose() and Finalize(), see Cleaning Up Unmanaged Resources.

적용 대상