Метод 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.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: Cor.h
Библиотека: используется как ресурс в MSCorEE.dll
Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0
См. также
Ссылки
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Июнь 2010 |
Добавлены сведения об использовании. |
Исправление ошибки содержимого. |