Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
IMetaDataEmit::Merge için bir veya daha fazla önceki çağrı tarafından belirtilen tüm meta veri kapsamlarını geçerli kapsamla birleştirir.
Syntax
HRESULT MergeEnd ();
Parameters
Bu yöntem parametre almaz.
Remarks
Bu yordam, çağrısından önce tarafından belirtilen tüm içeri aktarma kapsamlarının meta verilerin geçerli çıkış kapsamına gerçek birleştirilmesini IMetaDataEmit::Mergetetikler.
Birleştirme için aşağıdaki özel koşullar geçerlidir:
İçeri aktarma kapsamındaki meta veriler için benzersiz olduğundan modül sürümü tanımlayıcısı (MVID) hiçbir zaman içeri aktarılamıyor.
Mevcut modül genelindeki özelliklerin üzerine yazılmaz.
Geçerli kapsam için modül özellikleri zaten ayarlanmışsa, hiçbir modül özelliği içeri aktarılmış değildir. Ancak, modül özellikleri geçerli kapsamda ayarlanmamışsa, bunlar ilk kez karşılaşıldığında yalnızca bir kez içeri aktarılır. Bu modül özellikleriyle yeniden karşılaşılırsa, bunlar yinelenir. Tüm modül özelliklerinin (MVID hariç) değerleri karşılaştırılırsa ve yineleme bulunmazsa bir hata oluşur.
Tür tanımları ()
TypeDefiçin geçerli kapsamla hiçbir yinelenen öğe birleştirilmemiştir.TypeDefnesneleri, her tam nesne adı + GUID + sürüm numarasına göre yinelenen öğeler için denetlenmektedir. Ad veya GUID'de bir eşleşme varsa ve diğer iki öğeden herhangi biri farklıysa bir hata oluşur. Aksi takdirde, üç öğe de eşleşirse,MergeEndgirişlerin gerçekten yinelenen olduğundan emin olmak için imleç denetimi yapar; aksi takdirde bir hata oluşur. Bu imleç denetimi aşağıdakileri arar:Aynı sırada gerçekleşen aynı üye bildirimleri. olarak
mdPrivateScopebayrak eklenmiş üyeler (bkz . CorMethodAttr numaralandırması) bu denetime dahil değildir; bunlar özel olarak birleştirilir.Aynı sınıf düzeni.
Bu, bir
TypeDefnesnenin bildirildiği her meta veri kapsamında her zaman tam ve tutarlı bir şekilde tanımlanması gerektiği anlamına gelir; üye uygulamaları (bir sınıf için) birden çok derleme birimine yayılırsa, tam tanımın her kapsam için artımlı değil her kapsamda mevcut olduğu varsayılır. Örneğin, parametre adları sözleşmeyle ilgiliyse, her kapsama aynı şekilde yayılmalıdır; ilgili değilse, meta veriye yayılmamalıdır.Bunun istisnası, bir
TypeDefnesnenin olarakmdPrivateScopebayrak eklenmiş artımlı üyelere sahip olmasıdır. Bunlarla karşılaştığınızda,MergeEndyinelenenleri dikkate almadan bunları artımlı olarak geçerli kapsama ekler. Derleyici özel kapsamı anladığı için, kuralları zorlamaktan derleyicinin sorumlu olması gerekir.Göreli sanal adresler (RVA' lar) içeri aktarılmaz veya birleştirilmemiştir; derleyicisinin bu bilgileri yeniden yaydığı beklenir.
Özel öznitelikler yalnızca bağlı oldukları öğe birleştirildiğinde birleştirilir. Örneğin, bir sınıfla ilişkilendirilmiş özel öznitelikler, sınıfla ilk karşılaşıldığında birleştirilir. Özel öznitelikler derleme birimine özgü bir
TypeDefveyaMemberDefile ilişkilendirilmişse (örneğin, bir üye derlemesinin zaman damgası), bunlar birleştirilmemiştir ve bu meta verileri kaldırmak veya güncelleştirmek derleyiciye bağlı olur.
Requirements
Platform: Bkz. .NET tarafından desteklenen işletim sistemleri.
Header: Cor.h
Library: CorGuids.lib