이펙티브 c# (3)
이펙티브 c 아이템 10: 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라 override 키워드는 virtual 선언된 멤버를 재정의 할때 쓸수있다. new 한정자는 virtual로 선언되지 않은 멤버를 재정의 할때 쓸수있다. 하지만 위처럼 코드를 작성하면 혼돈스러울 수 밖에 없다 동일한 객체를 이용하여
Writing
기술 자체보다 어떤 문제를 왜 그렇게 풀었는지에 초점을 둡니다.
이펙티브 c 아이템 10: 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라 override 키워드는 virtual 선언된 멤버를 재정의 할때 쓸수있다. new 한정자는 virtual로 선언되지 않은 멤버를 재정의 할때 쓸수있다. 하지만 위처럼 코드를 작성하면 혼돈스러울 수 밖에 없다 동일한 객체를 이용하여
이펙티브 c 아이템 5: 문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라 아이템 6: nameof() 연산자를 적극 활용하라 nameof 식은 변수, 형식 또는 멤버의 이름을 문자열 상수로 가져옵니다. nameof를 활용하면 인수 검사 코드를 좀더 쉽게 유지 할수 있다. nameof 연산자를
이펙티브 c 아이템1: 지역변수를 선언할 때는 var를 사용하는 것이 낫다. 코드를 읽을때 타입을 명시적으로 드러내야 하는 경우가 아니라면 var를 사용하는것이 더 좋을수도 있다. 다만 내장 숫자 타입(int,float,double 등..)을 선언할 때는 명시적으로 타입을 선언하는 편이 낫다. 아이템 2: const보다는
TAP(Task based asynchronous pattern)을 사용하여 비동기 작업을 수행할 경우 콜백을 사용하면 차단 없이 대기를 진행할 수 있습니다. Task의 경우 이는 Task.ContinueWith와 같은 메서드를 통해 수행됩니다. 언어 기반 비동기 지원은 정상적인 제어 흐름 내에서 비동기 작업이 대기할 수
.NET 태스크 기반 비동기 모델을 사용하면 I/O 및 CPU 바인딩된 비동기 코드를 간단하게 작성할 수 있습니다. 모델은 C 및 Visual Basic에서 Task 및 Task<T 형식과 async 및 await 키워드로 표시됩니다. Task 및 Task<T Task(java.util.concurrent.Future 또
LINQ(Language Integrated Query)는 C 언어에 직접 쿼리 기능을 통합하는 방식을 기반으로 하는 기술 집합 이름입니다. LINQ를 사용할 경우 쿼리는 클래스, 메서드, 이벤트와 같은 고급 언어 구문이 됩니다 쿼리식을 사용해서 데이터소스(SQL 데이터베이스, XML 문서, 다양한 웹 서비스 등)에 대한
엔티티 프레임워크에 sqllite를 사용해서 프로그램을 만들어서 update database 까지 문제 없이 완료 했지만 실행시 계속 no such table error 가 나온다. 처음에는 이해가 가지 않았다. 위에 보면 데이터 소스를 blogging.db 파일을 보고 있다 실제로 프로젝트에서 만들어진 blogging.
Entity Framework를 사용 하 여 .NET 개체를 사용 하 여 데이터를 쿼리, 삽입, 업데이트 및 삭제 하려면 먼저 모델에 정의 된 엔터티와 관계를 데이터베이스의 테이블에 매핑하는 모델을 만들어야 합니다. 모델이 있으면 응용 프로그램이 상호 작용 하는 기본 클래스가 System.Data.Entity.DbCont
인스톨 명령 업데이트 명령 사용법 및 정상동작하는지 확인하기 위한 명령 마이그레이션 파일 생성(Add Migration) 엔티티 프레임워크 모델을 생성후에 마이그레이션 파일을 생성 하는 커멘드이다. 위처럼 Add Migration 명령어를 사용하면 되는데 뒤에 인자를 준 이름으로 마이그레이션 파일이 생성된다. Name <