Метод 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] Идентификатор модуля, в котором расположен тип.typeDef
[in] Маркер метаданных mdTypeDef, ссылающийся на тип.cTypeArgs
[in] Число параметров типа для данного типа. Для неуниверсальных типов это значение должно быть равным нулю.typeArgs
[in] Массив значений ClassID, каждое из которых является аргументом типа. Значение параметра typeArgs может быть равным NULL, если параметру cTypeArgs присвоено значение нуль.pClassID
[out] Указатель на идентификатор ClassID для заданного типа.
Заметки
Если метод GetClassFromTokenAndTypeArgs вызвать с маркером метаданных mdTypeRef вместо mdTypeDef, это может привести к непредсказуемым результатам; при передаче вызывающий объект должен разрешить маркер mdTypeRef в маркер mdTypeDef.
Если тип еще не загружен, вызов метода GetClassFromTokenAndTypeArgs приведет к загрузке, которая во многих контекстах является небезопасной. Например, вызов этого метода во время загрузки модулей или других типов может привести к бесконечному циклу, так как среда выполнения будет пытаться циклически загрузить объекты.
В общем случае использовать метод GetClassFromTokenAndTypeArgs не рекомендуется. Если профилировщику нужны события для определенного типа, их можно сохранить в идентификаторе ModuleID и маркере mdTypeDef этого типа и с помощью метода ICorProfilerInfo2::GetClassIDInfo2 проверить, соответствует ли данный идентификатор ClassID необходимому типу.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0