Compartilhar via


Método de IMetaDataEmit::DefineTypeDef

Cria uma definição de tipo para um tipo de tempo de execução de linguagem comum e obtém um token de metadados para definição de tipo.

HRESULT DefineTypeDef ( 
    [in]  LPCWSTR     szTypeDef, 
    [in]  DWORD       dwTypeDefFlags, 
    [in]  mdToken     tkExtends, 
    [in]  mdToken     rtkImplements[], 
    [out] mdTypeDef   *ptd
);

Parâmetros

  • szTypeDef
    [in] O nome do tipo em Unicode.

  • dwTypeDefFlags
    [in] TypeDef atributos. Esta é uma bitmask de CoreTypeAttr valores.

  • tkExtends
    [in] O token da classe base. Ele deve ser um mdTypeDef ou um mdTypeRef token.

  • rtkImplements
    [in] Uma matriz de tokens especificando as interfaces que implementa a classe ou interface.

  • ptd
    [out] O mdTypeDef token atribuído.

Comentários

Um sinalizador no dwTypeDefFlags Especifica se o tipo que está sendo criado é um tipo sistema referência tipo comum (classe ou interface) ou um comum tipo sistema valor tipo.

Dependendo dos parâmetros fornecidos, esse método, como efeito colateral, também pode criar uma mdInterfaceImpl registro para cada interface que é herdada ou implementada pelo tipo. No entanto, esse método não retorna qualquer um desses mdInterfaceImpl tokens. Se um cliente quiser mais tarde, adicionar ou modificar um mdInterfaceImpl token, ele deverá usar o IMetaDataImport interface de enumerá-los. Se você deseja usar semântica COM o [default] interface, você deve fornecer a interface padrão como o primeiro elemento na rtkImplements; um atributo personalizado definido na classe indicará que a classe tem uma interface padrão (que será sempre considerado o primeiro mdInterfaceImpl token declarado para a classe).

Cada elemento da rtkImplements matriz suspensões um mdTypeDef ou mdTypeRef token. O último elemento na matriz deve ser mdTokenNil.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: Cor.h

Biblioteca: Usado como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Referência

Interface de IMetaDataEmit

Interface de IMetaDataEmit2

Histórico de alterações

Date

History

Motivo

Junho de 2010

Detalhes de uso adicional.

Correção de bug de conteúdo.