어떻게하면 처리해야 할 때 알 수 있습니까? 누군가 내가 방금 처리해야 할 코드에 여러 객체가 있음을 언급합니다. 나는 아무 것도 처분 할 필요가 없다는 것을 몰랐다. (이것은 C#으로 첫 주간이다). 객체를 처리해야 할 때 어떻게 알 수 있습니까? 나는 http://msdn.microsoft.com/en-us/library/system.security.cryptography.hashalgorithm.aspx을 사용하고 있었고 페이지에 처분에 대한 언급이 없거나 다른 objs에서 언급 한 것을 보았습니다 (나는 누군가에 의해 처분되었다).개체를 처리해야 할 때 어떻게 알 수 있습니까?
내가 IDisposable을 상속 할 때 필요한 것은 알고 있지만 어떻게 상속합니까?
이 문제는 'obj'가 'IDisposable' [명시 적으로] (http://msdn.microsoft.com/en-us/library/ms173157.aspx)을 구현하는 유형 인 경우 intellisense가 위의 기법으로 어떤 방법도 찾지 못한다. 그런 다음 'IDisposable d = obj;'라고 입력하고 오류가 발생하는지 확인해야합니다. –
@JeppeStigNielsen 새로 받아 들인 대답이 있습니까? –
맞습니다. 'using (obj) {}'이 에러없이 빌드된다면, 컴파일 타임 타입의'obj'는'IDisposable'을 구현합니다. 그리고 그 경우에는'using '을 사용해야합니다. 대부분의 경우'using (var obj = someMethodCallOrNewObjectExpression()) {...} '과 같이 지역 변수 할당을'()'괄호에 넣는 것이 더 좋습니다. –