2010-07-09 2 views
1

가능한 중복 :
Close and Dispose - which to call?Dispose와 Close의 차이점은 무엇입니까?

안녕하세요,

일부 웹 페이지를 읽은 후, 나는 아직도 C#에서 폐기 닫기 방법의 차이를 이해하지 않습니다.

은의이 샘플을 보자 :

using (SqlConnection sqlConnection = new SqlConnection()) 
{ 
    // Execute an insert statement (no breaks, exceptions, returns, etc.) 
} 

와 두 번째를 :

SqlConnection sqlConnection = new SqlConnection(); 
// Execute an insert statement (no breaks, exceptions, returns, etc.) 
sqlConnection.Close(); 

코드의 두 조각 비슷한

있습니까? 모두 사용할 상황이 있기 때문에 using는 해결책이 아니다? 아니면 행동에 차이가있을 경우 (단지 편의상 있습니까? 어떤 클래스가 Close 방법을 제공하는 경우가해야하는 이유

그래서 나는 IDisposable 클래스에 Close 방법을 넣어 I .

+4

복제 됨 중복 됨 http://stackoverflow.com/questions/61092/close-and-dispose-which-to-call – chilltemp

+0

감사합니다. 게시하기 전에 검색했지만 찾지 못했습니다. 나는 그 질문을 닫고있다. –

답변

3

당신이 개 코드 조각은 동일? IDisposable를 구현하고 Close 노출

.NET 클래스를 생성이 약간 우호적 이름을 가진 Close 방법을 추가하는 데 편의를 위해 돌출 않습니다. 일반적으로 하나가 호출 기타.

자신 만의 일회용 클래스를 구현하면 마음에 들지 않는 한 Close 메서드를 추가 할 필요가 없습니다.

+0

이것은 거의 정확합니다. 'Dispose'와'Close'는 데이터베이스 커넥션 클래스와 같은 * except *입니다. –

관련 문제