본문 바로가기
반응형

전체 글109

[Effective C#] Item 18 반드시 필요한 제약 조건만 설정하라 타입 매개변수에 대한 제약 조건(constranint)은 클래스가 작업을 올바르게 수행하기 위해서 타입 매개변수로 전달할 수 있는 타입의 유형을 제한하는 방법이다. 올바른 작업을 수행하기 위한 제약조건의 수가 늘어나면 개발자가 이를 만족시키기 위해서 수행해야 하는 작업의 양이 늘어나서 이 균형을 유지하는 것이 중요하다. 제약 조건을 설정하지 않으면 런타임에 더 많은 검사를 수행하고 더 자주 형변환을 해야 하고, 리플렉션을 사용해야 할 가능성이 커지낟. 제약 조건을 과도하게 설정하면 해당 클래스를 사용하기 위해 과도하게 추가 작업을 해야한다. 제약 조건 왜 사용하나? 제약 조건을 설정하면 컴파일러는 System.object에 정의된 pbulic 메서드보다 더 많은 것을 매개변수에 기대할 수 있게된다. 하지.. 2022. 9. 30.
[Visual Studio] 비주얼 스튜디오 단축키 잘 기억나지 않는 비주얼 스튜디오 단축키 정리 Ctrl + M : 코드 축약 Ctrl + Q : 모든 파일 찾기 Alt + F12 : 코드 엿보기 Ctrl + K + S : 코드 감싸기(if, switch ...) Ctrl + Shift + V : 복사한 목록 붙여넣기 Shift + Alt + Enter : 전체화면 Ctrl + Alt + C : 호출 스택 창 Ctrl + Alt + B : 중단점 창 Ctrl + Alt + I : 직접 실행 창 Ctrl + \ +E : 오류 목록창 Ctrl + K + W : 책갈피 창 Ctrl + Alt + W : 디버그 조사식 창 Ctrl + Alt + V + A : 디버그 자동 창 2022. 9. 30.
[Visual Studio] 비주얼 스튜디오 직접 실행창 사용법 디버그 할때 좋은 기능인 직접 실행창 사용법 원하는 코드라인에 중단점을 찍은뒤 실행 한다. 직적 실행 창에서 값을 바꾸는 코드문을 입력한다. 값이 바뀐것을 확인 로그에도 바뀐값으로 출력 실행중 코드를 바꿔서 테스트하고싶을때 사용하면 좋을것같다. 2022. 9. 30.
[Effective C#] Item17 표준 Dispose 패턴을 구현하라 이번 포스팅은 메모리가 아닌 다른 유형의 비관리(Unmanaged) 리소스를 포함하는 타입을 작성할 때 리소스 관리를 어떻게 해야 할지를 살펴보는 파트다. 우선 간단하게 비관리 리소스가 무엇인지 살펴보자. 비관리 리소스 : 메모리가 아닌 자원을 말하며, 윈도우 핸들, 파일 핸들, 소켓 핸들 등 시스템 자원을 뜻한다. 반대로 관리 리소스에는 new List()등, 메모리 처럼 쓰는 자원을 말한다. 이런 비관리 리소스들은 가비지 콜렉터가 아닌 개발자가 직접 관리해줘야 한다. 이미 .NET 프레임 워크에는 비관리 리소스를 정리하는 표준화 된 패턴을 사용하고 있다. 그것이 바로 Dispose 패턴이다. Dispose 패턴 왜 사용해야 되냐? 우선 Dispose 패턴은 앞서 말했듯 비관리 리소스를 관리하기 위한 .. 2022. 9. 13.
반응형