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/

반응형

+ Recent posts