Compartilhar via


Método de IMetaDataEmit::DefineImportMember

Cria uma referência ao membro especificado de um tipo ou o módulo que está definido fora do escopo atual e define um token para essa referência.

HRESULT DefineImportMember ( 
    [in]  IMetaDataAssemblyImport  *pAssemImport, 
    [in]  const void               *pbHashValue, 
    [in]  ULONG                    cbHashValue,
    [in]  IMetaDataImport          *pImport, 
    [in]  mdToken                  mbMember, 
    [in]  IMetaDataAssemblyEmit    *pAssemEmit, 
    [in]  mdToken                  tkParent, 
    [out] mdMemberRef              *pmr 
);

Parâmetros

  • pAssemImport
    [in] Um IMetaDataAssemblyImport interface que representa o conjunto do qual o membro de destino é importado.

  • pbHashValue
    [in] Uma matriz que contém o hash do assembly especificado por pAssemImport.

  • cbHashValue
    [in] O número de bytes de pbHashValue matriz.

  • pImport
    [in] Um IMetaDataImport interface que representa o escopo de metadados a partir do qual o membro de destino é importado.

  • mbMember
    [in] O token de metadados que especifica o membro de destino. O token pode ser um mdMethodDef (para um método de membro), mdProperty (para uma propriedade de membro), ou mdFieldDef (para um campo de membro) token.

  • pAssemEmit
    [in] Um IMetaDataAssemblyEmit interface que representa o assembly no qual o membro de destino é importado.

  • tkParent
    [in] O mdTypeRef ou mdModuleRef token para o tipo ou o módulo, respectivamente, que possui o membro de destino.

  • pmr
    [out] O mdMemberRef token que é definido no escopo atual para a referência de membro.

Comentários

O DefineImportMember método procura de membro, especificado por mbMember, que é definido em outro escopo, especificado por pImporte recupera propriedades. Ele usa essas informações para chamar o IMetaDataEmit::DefineMemberRef método no escopo atual para criar a referência de membro.

Geralmente, antes você usa o DefineImportMember método, você deve criar, no escopo atual, uma referência de tipo ou a referência de módulo de classe pai do membro de destino, interface ou módulo. O token de metadados para essa referência é então passado a tkParent argumento. Você não precisará criar uma referência ao pai do membro de destino se ele será resolvido posteriormente pelo compilador ou do vinculador. Para resumir:

  • Se o membro de destino for um campo ou método, use o IMetaDataEmit::DefineTypeRefByName ou IMetaDataEmit::DefineImportType método para criar uma referência de tipo no escopo atual, para a classe pai ou a interface do pai do membro.

  • Se o membro de destino é uma variável ou global função global (ou seja, não é membro de uma classe ou interface), use o IMetaDataEmit::DefineModuleRef método para criar uma referência de módulo no escopo atual, para o módulo do pai do membro.

  • Se o pai do membro de destino será resolvido posteriormente pelo compilador ou do vinculador, passar mdTokenNil na tkParent. A única situação em que isso se aplica quando uma função global ou variável global está sendo importado de um arquivo. obj que será vinculado, por fim, no módulo atual e os metadados mesclagem.

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