Section 34.5: Generic 타입을 익명 (anonymous) 타입으로 인스턴스 생성하기 (instantiate)
아래 예제와 같이, generic 생성자의 타입 파라미터에 사용된 익명 타입이 리턴 타입 이름에 기술되여야 하는 경우가 생길 수 있으며, 이는 실제적으로 가능하지 않다. 대신에, 타입 추론을 사용하게 함으로써 generic 메소드를 사용할 수 있다.
var anon = new { Foo = 1, Bar = 2 };
var anon2 = new { Foo = 5, Bar = 10 };
List<T> CreateList<T>(params T[] items) {
return new List<T>(items);
}
var list1 = CreateList(anon, anon2);
묵시적 타입 배열의 경우에는 ToList
LINQ 메소드를 사용하여 List<T>
로 변환이 가능하다:
var list2 = new[] {anon, anon2}.ToList();
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/CSharpBook/
반응형
'번역 > C# Notes for Professionals' 카테고리의 다른 글
35.1: 속성 (property) 을 갖는 dynamic 객체 생성하기 (0) | 2021.11.24 |
---|---|
34.6: 묵시적 타입의 배열 (0) | 2021.11.24 |
34.4: Generic 메소드에 익명 타입 사용하기 (0) | 2021.11.23 |
34.3: 익명 (anonymous) 타입의 동일성 (equality) (0) | 2021.11.22 |
34.2: 익명 (anonymous) 타입 생성하기 (0) | 2021.11.22 |