CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·일본산당 ·방탄소년당 ·MaClien ·자전거당 ·안드로메당 ·개발한당 ·이륜차당 ·AI당 ·냐옹이당 ·오른당 ·소시당 ·소셜게임한당 ·위스키당 ·와인마신당 ·바다건너당 ·PC튜닝한당 ·스팀한당 ·패스오브엑자일당 ·노젓는당 ·나스당 ·클다방 ·어학당 ·걸그룹당 ·가상화폐당 ·젬워한당 ·육아당 ·IoT당 ·날아간당 ·키보드당 ·리눅서당 ·찰칵찍당 ·달린당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·물고기당 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·안경쓴당 ·골프당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

아무거나질문

c#에서 using () 이유가 궁금합니다.. 4

2016-10-31 10:16:43 175.♡.58.101
FANDANG

** 이 게시판은 댓글이 달리면 게시물을 삭제할 수 없습니다. **
** 내용의 장기노출이 곤란한 경우 [수정]을 통해 내용을 변경하시기 바랍니다. **

 

/using( gray gg = new gray());
            //using( IplImage temp = gg.grayprosess(src))
            //{
            //    result = temp.Clone();

            //}

 

이런 using은 왜사용하는건가요?? 구글 검색해봐도 잘이해가 안갑니다..

FANDANG 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [4]
아이프리드
IP 118.♡.235.27
10-31 2016-10-31 10:23:36 / 수정일: 2017-04-30 22:25:23
·
IpImage temp 의 객체를 using문이 끝날때 자동으로 해제해줍니다.

using (객체 선언)

선언되는 객체가 using문이 끝날때 자동으로 해제 된다는 이야깁니다.

객체 선언;
객체 사용;
객체 Dispose(); (해제)

이걸 자동화 시켜주는 역할입니다. C# 에선 using 문을 쓰도록 권장하고 있습니다. 왜냐하면 dispose를 실수로 호출하지 않을수도 있고 가독성도 저하되기 때문입니다.

https://msdn.microsoft.com/ko-kr/library/yh598w02.aspx
FANDANG
IP 175.♡.58.101
10-31 2016-10-31 10:35:37 / 수정일: 2017-04-30 22:25:23
·
근데 using 문을 사용하는 법을 모르겠습니다.
인터페이스 멤버를 구현하지않습니다 라는 말만 뜨고..
혹시 사용법 예제 같은것이 있을까요??
교강용
IP 175.♡.116.49
10-31 2016-10-31 10:39:35 / 수정일: 2017-04-30 22:25:23
·
그냥 Dispose()호출을 자동으로 하기 위해서 쓴다 보면 되고요 (스코프가 달라지기 때문에 해당 구문 밖에서 오사용 방지도 됨), 따라서 Dispose가 불가능한 객체에 대해서는 당연히 에러가 발생합니다. IDisposable를 구현 안했다는 에러가 뜨겠죠. 그럼 IDisposable은 언제 쓰느냐.. 수동으로 직접 해제해줘야 하는 자원을 사용할 때 씁니다. 예를 들어 자원이 어디 원격에 가있다든지. 네이티브 리소스라 가베지 컬렉션 사용을 못한다든지 등등.

예제: https://msdn.microsoft.com/en-us/library/yh598w02.aspx
IDisposable: https://msdn.microsoft.com/en-us/library/system.idisposable.aspx

수동으로 해제해줘야 하는 자원이 뭔지 잘 감이 안 온다.. 그러면 지금은 그냥 IDisposable을 가지고 있는 객체는 다 쓴 뒤 수동으로 Dispose()를 호출해주든지, 아니면 using으로 자동화해줘야 된다고 기억하시기만 하도 됩니다. 차차 왜 이게 필요한지 금방 알게 될거예요.

그럼 IDisposable이 아닌 객체에 using을 쓸 수는 없느냐.. 해당 인터페이스 구현만 해주면 못쓸 이유는 없지만, 일반적으로 그럴 이유가 없습니다. 수동 해제가 필요한 자원이 아니라는 뜻이니 그냥 using을 안 쓰면 되니까요.
아이프리드
IP 118.♡.235.27
10-31 2016-10-31 10:41:50 / 수정일: 2017-04-30 22:25:23
·
using 문에 사용하시려는 객체가 IDisposable 를 구현하지 않은 클래스입니다. 이런 경우에는 using문에 사용할 수 없습니다. using 문에 사용가능한 객체는 IDisposable에대한 Dipose() 메소드가 구현되어 있어야 합니다.

gray 클래스나 IplImage 클래스 둘중 하나나 둘다 IDisposable 인터페이스로 참조하셔서 Dispose를 구현하시면 사용가능합니다. 안그러면 직접 해제 해주셔야 합니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.