Dinamikus metódusok és összeállítások létrehozása

Ez a szakasz olyan felügyelt típusokat ismertet a System.Reflection.Emit névtérben, amelyek lehetővé teszik, hogy egy fordító vagy eszköz futásidőben metaadatokat és közös köztes nyelvet (CIL) bocsátson ki, és opcionálisan hordozható végrehajtható (PE) fájlt hozzon létre a lemezen. A névtér elsődleges felhasználói a szkriptmotorok és a fordítók. Ebben a szakaszban a névtér által System.Reflection.Emit biztosított funkciókat visszatükrözésnek nevezzük.

A visszaverődés kibocsátja a következő képességeket:

  • Egyszerű globális metódusokat definiálhat futtatókörnyezetben az DynamicMethod osztály használatával, és delegáltak használatával hajthatja végre őket.
  • Adja meg az assemblyket futásidőben, majd futtassa őket, és/vagy mentse a lemezre.
  • Adja meg az összeállításokat futásidőben, futtassa őket, majd töltse ki őket a memóriából, és engedje meg a szemétgyűjtésnek az erőforrások visszanyerését.
  • Modulokat definiálhat az új szerelvényekben futásidőben, majd futtathatja és/vagy mentheti őket a lemezre.
  • Modultípusok definiálása futtatókörnyezetben, példányok létrehozása ezekből a típusokból, és metódusok meghívása.
  • Definiáljon szimbolikus információkat a definiált modulokhoz, amelyeket olyan eszközök használhatnak, mint a hibakeresők és a kódprofilozók.

A névtér felügyelt System.Reflection.Emit típusai mellett vannak nem felügyelt metaadat-interfészek is, amelyeket a Metaadat-interfészek (.NET-keretrendszer) és a metaadat-interfészek (.NET) ismertetnek. A felügyelt tükröződés nagyobb szemantikai hibaellenőrzést és a metaadatok absztrakciójának magasabb szintjét biztosítja, mint a nem felügyelt metaadat-interfészek.

A metaadatok és a CIL használatához hasznos forrás a Common Language Infrastructure (CLI) dokumentációja, különösen a "Partition II: Metadata Definition and Semantics" és a "Partition III: CIL Utasításkészlet". A dokumentáció online elérhető az Ecma webhelyén.

Reference

OpCodes
A metódustestek létrehozásához használható CIL-utasításkódokat katalogizálja.

System.Reflection.Emit
Dinamikus metódusok, szerelvények és típusok kibocsátására használt felügyelt osztályokat tartalmaz.

Type
A Type osztályt ismerteti, amely a felügyelt tükrözés és tükrözés kibocsátásában szereplő típusokat jelöli, és kulcsfontosságú ezen technológiák használatához.

System.Reflection
A metaadatok és a felügyelt kód megismerésére használt felügyelt osztályokat tartalmaz.