IMetaDataEmit::D efineImportMember-metod
Skapar en referens till den angivna medlemmen av en typ eller modul som definieras utanför det aktuella omfånget och definierar en token för den referensen.
Syntax
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
);
Parametrar
pAssemImport
[i] Ett IMetaDataAssemblyImport-gränssnitt som representerar sammansättningen som målmedlemmen importeras från.
pbHashValue
[i] En matris som innehåller hashen för sammansättningen som anges av pAssemImport
.
cbHashValue
[i] Antalet byte i matrisen pbHashValue
.
pImport
[i] Ett IMetaDataImport-gränssnitt som representerar metadataomfånget som målmedlemmen importeras från.
mbMember
[i] Den metadatatoken som anger målmedlemmen. Token kan vara en mdMethodDef
(för en medlemsmetod), mdProperty
(för en medlemsegenskap) eller mdFieldDef
(för ett medlemsfält) token.
pAssemEmit
[i] Ett IMetaDataAssemblyEmit-gränssnitt som representerar den sammansättning som målmedlemmen importeras till.
tkParent
[i] Eller-token mdTypeRef
mdModuleRef
för den typ eller modul som äger målmedlemmen.
pmr
[ut] Den mdMemberRef
token som definieras i det aktuella omfånget för medlemsreferensen.
Kommentarer
Metoden DefineImportMember
söker upp medlemmen, som anges av mbMember
, som definieras i ett annat omfång, som anges av pImport
och hämtar dess egenskaper. Den använder den här informationen för att anropa metoden IMetaDataEmit::D efineMemberRef i det aktuella omfånget för att skapa medlemsreferensen.
Innan du använder DefineImportMember
metoden måste du i det aktuella omfånget vanligtvis skapa en typreferens eller modulreferens för målmedlemmens överordnade klass, gränssnitt eller modul. Metadatatoken för den här referensen tkParent
skickas sedan i argumentet. Du behöver inte skapa en referens till målmedlemmens överordnade om den kommer att lösas senare av kompilatorn eller länkaren. Sammanfattningsvis:
Om målmedlemmen är ett fält eller en metod använder du antingen metoden IMetaDataEmit::D efineTypeRefByName eller metoden IMetaDataEmit::D efineImportType för att skapa en typreferens i det aktuella omfånget för medlemmens överordnade klass eller överordnade gränssnitt.
Om målmedlemmen är en global variabel eller global funktion (dvs. inte medlem i en klass eller ett gränssnitt) använder du metoden IMetaDataEmit::D efineModuleRef för att skapa en modulreferens i det aktuella omfånget för medlemmens överordnade modul.
Om målmedlemmens överordnade objekt kommer att lösas senare av kompilatorn eller länkaren skickar
mdTokenNil
du intkParent
. Det enda scenario där detta gäller är när en global funktion eller global variabel importeras från en .obj-fil som slutligen länkas till den aktuella modulen och metadata slås samman.
Krav
Plattformar: Se Systemkrav.
Huvudet: Cor.h
Bibliotek: Används som en resurs i MSCorEE.dll
.NET Framework versioner: Tillgänglig sedan 1.0