다음을 통해 공유


제네릭 및 리플렉션(C# 프로그래밍 가이드)

CLR(공용 언어 런타임)에서는 런타임에 제네릭 형식 정보에 액세스할 수 있으므로 리플렉션을 사용하면 제네릭이 아닌 형식에 대해서와 동일한 방식으로 제네릭 형식에 대한 정보를 얻을 수 있습니다. 자세한 내용은 런타임의 제네릭(C# 프로그래밍 가이드)을 참조하십시오.

.NET Framework 2.0에서는 제네릭 형식에 대한 런타임 정보를 사용할 수 있도록 여러 가지 새로운 멤버가 Type 클래스에 추가되었습니다. 이러한 메서드와 속성의 사용 방법에 대한 자세한 내용은 해당 클래스에 대한 문서를 참조하십시오. System.Reflection.Emit 네임스페이스에도 제네릭을 지원하는 새 멤버가 추가되었습니다. 방법: 리플렉션 내보내기를 사용하여 제네릭 형식 정의를 참조하십시오.

제네릭 리플렉션에 사용되는 용어의 고정 조건 목록을 보려면 IsGenericType 속성 설명을 참조하십시오.

System.Type 멤버 이름

설명

IsGenericType

형식이 제네릭인 경우 true를 반환합니다.

GetGenericArguments

제네릭 형식 정의의 형식 매개 변수 또는 생성된 형식에 대해 제공되는 형식 인수를 나타내는 Type 개체의 배열을 반환합니다.

GetGenericTypeDefinition

현재 생성된 형식의 내부 제네릭 형식 정의를 반환합니다.

GetGenericParameterConstraints

현재 제네릭 형식 매개 변수에 대한 제약 조건을 나타내는 Type 개체의 배열을 반환합니다.

ContainsGenericParameters

특정 형식이 지정되지 않은 형식 매개 변수가 형식 또는 형식의 바깥쪽 형식이나 메서드에 포함되어 있는 경우 true를 반환합니다.

GenericParameterAttributes

현재 제네릭 형식 매개 변수의 특수 제약 조건을 설명하는 GenericParameterAttributes 플래그의 조합을 가져옵니다.

GenericParameterPosition

형식 매개 변수를 나타내는 Type 개체에 대해 형식 매개 변수를 선언한 제네릭 메서드 정의 또는 제네릭 형식 정의의 형식 매개 변수 목록에서 형식 매개 변수가 차지하는 위치를 가져옵니다.

IsGenericParameter

현재 Type이 제네릭 형식이나 메서드 정의의 형식 매개 변수를 표시하는지 여부를 나타내는 값을 가져옵니다.

IsGenericTypeDefinition

현재 Type이 다른 제네릭 형식을 생성하는 데 사용할 수 있는 제네릭 형식 정의를 표시하는지 여부를 나타내는 값을 가져옵니다. 형식이 제네릭 형식의 정의를 표시하는 경우 true를 반환합니다.

DeclaringMethod

현재 제네릭 형식 매개 변수를 정의한 제네릭 메서드를 반환합니다. 형식 매개 변수가 제네릭 메서드를 통해 정의되지 않은 경우 null을 반환합니다.

MakeGenericType

현재 제네릭 형식 정의의 형식 매개 변수에 대한 형식 배열의 요소를 대체하고, 생성된 결과 형식을 나타내는 Type 개체를 반환합니다.

또한 제네릭 메서드에 대한 런타임 정보를 사용할 수 있도록 새로운 멤버가 MethodInfo 클래스에 추가되었습니다. 제네릭 메서드 리플렉션에 사용되는 용어에 대한 고정 조건의 목록을 보려면 IsGenericMethod 속성 설명을 참조하십시오.

System.Reflection.MemberInfo 멤버 이름

설명

IsGenericMethod

메서드가 제네릭인 경우 true를 반환합니다.

GetGenericArguments

생성된 제네릭 메서드의 형식 인수나 제네릭 메서드 정의의 형식 매개 변수를 나타내는 Type 개체의 배열을 반환합니다.

GetGenericMethodDefinition

현재 생성된 메서드의 내부 제네릭 메서드 정의를 반환합니다.

ContainsGenericParameters

특정 형식이 지정되지 않은 형식 매개 변수가 메서드 또는 메서드의 바깥쪽 형식에 포함되어 있는 경우 true를 반환합니다.

IsGenericMethodDefinition

현재 MethodInfo가 제네릭 메서드의 정의를 나타내는 경우 true를 반환합니다.

MakeGenericMethod

현재 제네릭 메서드 정의의 형식 매개 변수를 형식 배열의 요소로 대체하고, 생성된 메서드를 나타내는 MethodInfo 개체를 반환합니다.

참고 항목

참조

제네릭(C# 프로그래밍 가이드)

개념

C# 프로그래밍 가이드

리플렉션 및 제네릭 형식

.NET Framework의 제네릭