أسلوب IMetaDataEmit::DefineImportMember
قم بإنشاء مرجع إلى الفرعي عضو في النوع أو الوحدة النمطية التي تم تعريف خارج النطاق الحالي، وتقوم بتعريف رمز مميز لهذا المرجع.
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
);
المعلمات
pAssemImport
[في] An IMetaDataAssemblyImport واجهة that represents the تجميع من which the الهدف عضو هو imported.pbHashValue
[في] صفيفة يحتوي على التجزئة للتجميع المحدد بواسطة pAssemImport.cbHashValue
[في] عدد وحدات البايت في pbHashValueالصفيف.pImport
[في] An IMetaDataImport واجهة that represents the بيانات التعريف نطاق من which the الهدف عضو هو imported.mbMember
[في] The بيانات التعريف token that specifies the الهدف عضو. The token can be an mdMethodDef (for a member أسلوب), mdProperty (for a خاصية عضو), أو mdFieldDef (for a member حقل) token.pAssemEmit
[in] An IMetaDataAssemblyEmit واجهة that represents the تجميع في which the الهدف عضو هو imported.tkParent
[في] The mdTypeRef أو mdModuleRef token for the نوع أو وحدة نمطية?, respectively, that owns the الهدف عضو.pmr
[خارج] The mdMemberRef token that هو defined في the الحالي نطاق for the عضو مرجع.
ملاحظات
The DefineImportMember أسلوب looks لأعلى the عضو, specified بواسطة mbMember, that هو defined في another نطاق, specified بواسطة pImport, و retrieves its خصائص. It uses this معلومات إلى يتصل the IMetaDataEmit::DefineMemberRef أسلوب في the الحالي نطاق إلى إنشاء the عضو مرجع.
Generally, قبل you استخدم the DefineImportMember أسلوب, you must إنشاء, في the الحالي نطاق, a نوع مرجع أو وحدة نمطية? مرجع for the الهدف عضو's parent فئة, واجهة, أو وحدة نمطية?. The بيانات التعريف token for this مرجع هو then passed في the tkParent وسيطة. You do not need إلى إنشاء a مرجع إلى the الهدف عضو's parent if it will be حل later بواسطة the compiler أو الرابط. إلى summarize:
If the الهدف عضو هو a حقل أو أسلوب, استخدم either the IMetaDataEmit::DefineTypeRefByName أو the IMetaDataEmit::DefineImportType أسلوب إلى إنشاء a نوع مرجع, في the الحالي نطاق, for the عضو's parent فئة أو parent واجهة.
إذا كان العضو الهدف العام متغير أو استخدم دالة العمومية (أي أنه ليس عضوا فئة أو واجهة), IMetaDataEmit::Defفيeوحدة نمطية?Ref الطريقة لإنشاء مرجع الوحدة نمطية، في نطاق الحالي للوحدة النمطية الأصل الخاصة بعضو.
If the الهدف عضو's parent will be حل later بواسطة the compiler أو الرابط, then pass mdTokenNil في tkParent. The فقط السيناريو in which this applies هو when a global دالة أو متغيّر عمومي هو being imported من a .obj ملف that will ultimately be linked في the الحالي وحدة نمطية? و the بيانات التعريف merged.
المتطلبات
الأنظمة الأساسية: See متطلبات النظام إطار عمل .NET.
**Header:**Cor.h
المكتبة: Used كـ a مورد في MSCorEE.dll
.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0