Метод IMetaDataEmit::DefineTypeDef
Создает определение типа для типа СРЕДЫ CLR и получает маркер метаданных для этого определения типа.
Синтаксис
HRESULT DefineTypeDef (
[in] LPCWSTR szTypeDef,
[in] DWORD dwTypeDefFlags,
[in] mdToken tkExtends,
[in] mdToken rtkImplements[],
[out] mdTypeDef *ptd
);
Параметры
szTypeDef
[in] Имя типа в Юникоде.
dwTypeDefFlags
[in] TypeDef
Атрибуты. Это битовая маска значений CoreTypeAttr
.
tkExtends
[in] Токен базового класса. Он должен быть либо маркером, mdTypeDef
либо маркером mdTypeRef
.
rtkImplements
[in] Массив маркеров, указывающий интерфейсы, которые реализует этот класс или интерфейс.
ptd
[out] Назначенный mdTypeDef
маркер.
Комментарии
Флаг в dwTypeDefFlags
указывает, является ли создаваемый тип ссылочным типом системы общего типа (класс или интерфейс) или типом системного значения общего типа.
В зависимости от предоставленных параметров этот метод в качестве побочного эффекта также может создать mdInterfaceImpl
запись для каждого интерфейса, который наследуется или реализуется этим типом. Однако этот метод не возвращает ни один из этих mdInterfaceImpl
маркеров. Если клиент хочет позже добавить или изменить mdInterfaceImpl
маркер, он должен использовать IMetaDataImport
интерфейс для их перечисления. Если вы хотите использовать COM-семантику [default]
интерфейса, следует указать интерфейс по умолчанию в качестве первого элемента в ; настраиваемый атрибут, заданный в rtkImplements
классе, будет указывать, что класс имеет интерфейс по умолчанию (который всегда считается первым mdInterfaceImpl
токеном, объявленным для класса ).
Каждый элемент массива rtkImplements
содержит mdTypeDef
токен или mdTypeRef
. Последним элементом в массиве должен быть mdTokenNil
.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: Cor.h
Библиотека: Используется в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с версии 1.0.