이 클래스의 형식 선언을 가져옵니다.
HRESULT GetParameterizedType (
[in] CorElementType elementType,
[in] ULONG32 nTypeArgs,
[in, size_is(nTypeArgs)] ICorDebugType *ppTypeArgs[],
[out] ICorDebugType **ppType
);
매개 변수
elementType
[in] 이 클래스의 요소 형식을 지정하는 CorElementType 열거형의 값입니다. 이 ICorDebugClass2가 값 형식을 나타내면 이 값을 ELEMENT_TYPE_VALUETYPE으로 설정하고, 이 ICorDebugClass2가 복합 형식을 나타내면 이 값을 ELEMENT_TYPE_CLASS로 설정합니다.nTypeArgs
[in] 형식 매개 변수의 수입니다(제네릭 형식의 경우). 형식 매개 변수(있는 경우)의 수는 클래스에 필요한 수와 일치해야 합니다.ppTypeArgs
[in] 형식 매개 변수를 나타내는 ICorDebugType 개체를 가리키는 각 포인터의 배열입니다. 클래스가 제네릭이 아닌 경우 이 값은 null입니다.ppType
[out] 형식 선언을 나타내는 ICorDebugType 개체의 주소에 대한 포인터입니다. 이 개체는 관리 코드의 Type 개체와 동일합니다.
설명
제네릭이 아닌 클래스, 즉 형식 매개 변수가 없는 클래스의 경우 GetParameterizedType에서는 단순히 클래스에 해당하는 런타임 형식 개체를 가져옵니다. elementType 매개 변수는 클래스의 올바른 요소 형식으로 설정해야 합니다. 즉, 클래스가 값 형식이면 ELEMENT_TYPE_VALUETYPE으로 설정하고, 그렇지 않으면 ELEMENT_TYPE_CLASS로 설정해야 합니다.
클래스에서 ArrayList<T>와 같은 형식 매개 변수를 받아들이는 경우 GetParameterizedType을 사용하여 ArrayList<int>와 같이 인스턴스화된 형식의 형식 개체를 만들 수 있습니다.
배경 정보
.NET Framework 버전 1.0 및 1.1에서는 메타데이터의 모든 형식을 실행 중인 프로세스의 형식에 직접 매핑할 수 있었습니다. 따라서 실행 중인 프로세스에서 메타데이터 형식과 런타임 형식이 한 가지로 표현되었습니다. 그러나 메타데이터의 제너릭 형식 하나가 실행 중인 프로세스에 있는 형식의 서로 다른 여러 인스턴스화에 매핑될 수 있습니다. 예를 들어 메타데이터 형식 SortedList<K,V>가 SortedList<String, EmployeeRecord>, SortedList<Int32, String>, SortedList<String,Int32>> 등에 매핑될 수 있습니다. 따라서 형식 인스턴스화를 처리하는 방법이 필요합니다.
.NET Framework 버전 2.0에서는 ICorDebugType 인터페이스가 새로 도입되었습니다. 제네릭 형식의 경우 ICorDebugClass 또는 ICorDebugClass2 개체는 인스턴스화되지 않은 형식(SortedList<K,V>)을 나타내고 ICorDebugType 개체는 인스턴스화된 여러 형식을 나타냅니다. ICorDebugClass 또는 ICorDebugClass2 개체가 제공된 경우 ICorDebugClass2::GetParameterizedType 메서드를 호출하여 인스턴스화에 대해 ICorDebugType 개체를 만들 수 있습니다. 또한 Int32와 같은 단순 형식이나 제네릭 형식이 아닌 경우 ICorDebugType 개체를 만들 수 있습니다.
형식에 대한 런타임 개념을 나타내는 ICorDebugType 개체의 도입 효과는 API 전체적으로 적용됩니다. 이전에 ICorDebugClass 또는 ICorDebugClass2 개체나 CorElementType 값을 사용하던 함수는 ICorDebugType 개체를 사용하도록 일반화되었습니다.
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: CorDebug.idl, CorDebug.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0