IMetaDataEmit::DefineImportMember — Metoda
Tworzy odwołanie do określonego elementu członkowskiego typu lub modułu zdefiniowanego poza bieżącym zakresem i definiuje token dla tego odwołania.
Składnia
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
);
Parametry
pAssemImport
[w] Interfejs IMetaDataAssemblyImport , który reprezentuje zestaw, z którego jest importowany element członkowski docelowy.
pbHashValue
[w] Tablica zawierająca skrót zestawu określonego przez pAssemImport
.
cbHashValue
[w] Liczba bajtów w tablicy pbHashValue
.
pImport
[w] Interfejs IMetaDataImport , który reprezentuje zakres metadanych, z którego jest importowany element członkowski docelowy.
mbMember
[w] Token metadanych określający element członkowski docelowy. Token może być tokenem mdMethodDef
(dla metody składowej), mdProperty
(dla właściwości elementu członkowskiego) lub mdFieldDef
(dla pola członkowskiego).
pAssemEmit
[w] Interfejs IMetaDataAssemblyEmit reprezentujący zestaw, do którego jest importowany element członkowski docelowy.
tkParent
[w] Token mdTypeRef
lub mdModuleRef
dla typu lub modułu, odpowiednio, który jest właścicielem elementu członkowskiego docelowego.
pmr
[out] mdMemberRef
Token zdefiniowany w bieżącym zakresie odwołania do elementu członkowskiego.
Uwagi
Metoda DefineImportMember
wyszukuje element członkowski określony przez mbMember
element , który jest zdefiniowany w innym zakresie określonym przez pImport
, i pobiera jego właściwości. Te informacje są używane do wywoływania metody IMetaDataEmit::D efineMemberRef w bieżącym zakresie w celu utworzenia odwołania do elementu członkowskiego.
Ogólnie rzecz biorąc, przed użyciem DefineImportMember
metody należy utworzyć w bieżącym zakresie odwołanie do typu lub odwołanie modułu dla nadrzędnej klasy, interfejsu lub modułu elementu członkowskiego docelowego. Token metadanych dla tego odwołania jest następnie przekazywany w argumencie tkParent
. Nie musisz tworzyć odwołania do elementu nadrzędnego elementu docelowego, jeśli zostanie on rozwiązany później przez kompilator lub konsolidator. Podsumowując:
Jeśli element docelowy jest polem lub metodą, użyj metody IMetaDataEmit::D efineTypeRefByName lub IMetaDataEmit::D efineImportType , aby utworzyć odwołanie typu w bieżącym zakresie dla nadrzędnej klasy lub interfejsu nadrzędnego elementu członkowskiego.
Jeśli element docelowy jest zmienną globalną lub funkcją globalną (czyli nie elementem członkowskim klasy lub interfejsu), użyj metody IMetaDataEmit::D efineModuleRef , aby utworzyć odwołanie do modułu w bieżącym zakresie dla modułu nadrzędnego elementu członkowskiego.
Jeśli element nadrzędny elementu docelowego zostanie rozwiązany później przez kompilator lub konsolidator, przekaż
mdTokenNil
polecenietkParent
. Jedynym scenariuszem, w którym ma to zastosowanie, jest importowanie funkcji globalnej lub zmiennej globalnej z pliku obj, który ostatecznie zostanie połączony z bieżącym modułem i scalone metadane.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: Cor.h
Biblioteki: Używane jako zasób w MSCorEE.dll
wersje .NET Framework: dostępne od wersji 1.0