Поделиться через


Метод 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

См. также

Ссылки

Интерфейс IMetaDataEmit

Интерфейс IMetaDataEmit2

Журнал изменений

Дата

Журнал

Причина

Июнь 2010

Добавлены сведения об использовании.

Исправление ошибки содержимого.