Dinamik metotları ve bütünleştirilmiş kodları yayma

Bu bölümde, bir derleyicinin veya aracın çalışma zamanında meta verileri ve ortak ara dili (CIL) yaymasına ve isteğe bağlı olarak diskte taşınabilir bir yürütülebilir (PE) dosyası oluşturmasına olanak sağlayan, ad alanında yönetilen türler System.Reflection.Emit kümesi açıklanmaktadır. Betik altyapıları ve derleyiciler bu ad alanının birincil kullanıcılarıdır. Bu bölümde, ad alanı tarafından System.Reflection.Emit sağlanan işlevler yansıma yayma olarak adlandırılır.

Düşünceler yayma aşağıdaki özellikleri sağlar:

  • Sınıfını kullanarak DynamicMethod çalışma zamanında basit genel yöntemler tanımlayın ve bunları temsilciler kullanarak yürütin.
  • Derlemeleri çalışma zamanında tanımlayın ve sonra çalıştırın ve/veya diske kaydedin.
  • Derlemeleri çalışma zamanında tanımlayın, çalıştırın ve sonra kaldırın ve atık toplamanın kaynaklarını geri kazanmasını sağlayın.
  • Yeni derlemelerdeki modülleri çalışma zamanında tanımlayın ve sonra çalıştırın ve/veya diske kaydedin.
  • Çalışma zamanında modüllerde türleri tanımlayın, bu türlerin örneklerini oluşturun ve yöntemlerini çağırın.
  • Hata ayıklayıcıları ve kod profil oluşturucuları gibi araçlar tarafından kullanılabilecek tanımlı modüller için sembolik bilgileri tanımlayın.

Ad alanında System.Reflection.Emit yönetilen türlere ek olarak, Meta Veri Arabirimleri başvuru belgelerinde açıklanan yönetilmeyen meta veri arabirimleri vardır. Yönetilen yansıma yayma, yönetilmeyen meta veri arabirimlerinden daha güçlü anlamsal hata denetimi ve meta verilerin daha yüksek düzeyde soyutlanması sağlar.

Meta veriler ve CIL ile çalışmak için bir diğer yararlı kaynak da Ortak Dil Altyapısı (CLI) belgeleridir, özellikle de "Bölüm II: Meta Veri Tanımı ve Semantiği" ve "Bölüm III: CIL Yönerge Kümesi". Belgelere Ecma Web sitesinden çevrimiçi olarak ulaşabilirsiniz.

Başvuru

OpCodes
Yöntem gövdeleri oluşturmak için kullanabileceğiniz CIL yönerge kodlarını kataloglar.

System.Reflection.Emit
Dinamik yöntemleri, derlemeleri ve türleri yaymak için kullanılan yönetilen sınıfları içerir.

Type
Type Yönetilen yansıma ve yansıma yayma türlerini temsil eden ve bu teknolojilerin kullanımı için anahtar olan sınıfını açıklar.

System.Reflection
Meta verileri ve yönetilen kodu keşfetmek için kullanılan yönetilen sınıfları içerir.