ICorProfilerInfo2::GetClassFromTokenAndTypeArgs 方法
使用指定的中繼資料語彙基元和任何型別引數的 ClassID 值,取得某型別的 ClassID。
HRESULT GetClassFromTokenAndTypeArgs(
[in] ModuleID moduleID,
[in] mdTypeDef typeDef,
[in] ULONG32 cTypeArgs,
[in, size_is(cTypeArgs)] ClassID typeArgs[],
[out] ClassID* pClassID);
參數
moduleID
[in] 型別所在之模組的 ID。typeDef
[in] 參考此型別的 mdTypeDef 中繼資料語彙基元。cTypeArgs
[in] 指定之型別的型別參數數目。 對於非泛型型別,這個值必須是零。typeArgs
[in] ClassID 值的陣列,每個值分別是此型別的引數。 如果 cTypeArgs 設為零,則 typeArgs 的值可以為 NULL。pClassID
[out] 指定之型別的 ClassID 指標。
備註
以 mdTypeRef 而非 mdTypeDef 中繼資料語彙基元來呼叫 GetClassFromTokenAndTypeArgs 方法,可能會造成無法預期的結果;呼叫端在傳遞時應將 mdTypeRef 解析為 mdTypeDef。
如果尚未載入此型別,則呼叫 GetClassFromTokenAndTypeArgs 會觸發載入,這在許多內容中都是危險作業。 例如,在載入模組或其他型別期間,呼叫這個方法可能會導致無限迴圈,因為執行階段會嘗試循環載入。
一般而言,不鼓勵使用 GetClassFromTokenAndTypeArgs。 如果分析工具對於特定型別的事件感興趣,它們應儲存該型別的 ModuleID 和 mdTypeDef,並且使用 ICorProfilerInfo2::GetClassIDInfo2 來檢查指定的 ClassID 是否為所要的型別。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**CorProf.idl、CorProf.h
**程式庫:**CorGuids.lib
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0