Metodo IMetaDataEmit::DefineImportMember
Crea un riferimento al membro specificato di un tipo o di un modulo definito all'esterno dell'ambito corrente e definisce un token per tale riferimento.
Sintassi
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
);
Parametri
pAssemImport
[in] Interfaccia IMetaDataAssemblyImport che rappresenta l'assembly da cui viene importato il membro di destinazione.
pbHashValue
[in] Matrice che contiene l'hash per l'assembly specificato da pAssemImport
.
cbHashValue
[in] Numero di byte nella matrice di pbHashValue
.
pImport
[in] Interfaccia IMetaDataImport che rappresenta l'ambito dei metadati da cui viene importato il membro di destinazione.
mbMember
[in] Token di metadati che specifica il membro di destinazione. Il token può essere un mdMethodDef
token (per un metodo membro), mdProperty
(per una proprietà membro) o mdFieldDef
(per un campo membro).
pAssemEmit
[in] Interfaccia IMetaDataAssemblyEmit che rappresenta l'assembly in cui viene importato il membro di destinazione.
tkParent
[in] Token mdTypeRef
o mdModuleRef
per il tipo o il modulo, rispettivamente, proprietario del membro di destinazione.
pmr
[out] Token mdMemberRef
definito nell'ambito corrente per il riferimento al membro.
Commenti
Il DefineImportMember
metodo cerca il membro, specificato da mbMember
, definito in un altro ambito, specificato da pImport
e recupera le relative proprietà. Usa queste informazioni per chiamare il metodo IMetaDataEmit::D efineMemberRef nell'ambito corrente per creare il riferimento al membro.
In genere, prima di usare il DefineImportMember
metodo , è necessario creare, nell'ambito corrente, un riferimento al tipo o un riferimento al modulo per la classe padre, l'interfaccia o il modulo del membro di destinazione. Il token di metadati per questo riferimento viene quindi passato nell'argomento tkParent
. Non è necessario creare un riferimento all'elemento padre del membro di destinazione se verrà risolto in un secondo momento dal compilatore o dal linker. Per concludere:
Se il membro di destinazione è un campo o un metodo, utilizzare il metodo IMetaDataEmit::D efineTypeRefByName o IMetaDataEmit::D efineImportType per creare un riferimento al tipo, nell'ambito corrente, per la classe padre o l'interfaccia padre del membro.
Se il membro di destinazione è una variabile globale o una funzione globale ,ovvero non un membro di una classe o di un'interfaccia, utilizzare il metodo IMetaDataEmit::D efineModuleRef per creare un riferimento al modulo, nell'ambito corrente, per il modulo padre del membro.
Se l'elemento padre del membro di destinazione verrà risolto in un secondo momento dal compilatore o dal linker, passare
mdTokenNil
tkParent
. L'unico scenario in cui questo vale è quando viene importata una funzione globale o una variabile globale da un file con estensione obj che verrà infine collegato al modulo corrente e ai metadati uniti.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: Cor.h
Libreria: Usato come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 1.0