Generating Code at Runtime with Reflection.Emit
The System.Reflection.Emit
namespace provides objects for generating assemblies, types, and type members at runtime. Basically you need to perform the following operations sequentially:
1. Create an in-memory assembly within the current application domain with an instance of the AssemblyBuilder
class.
2. Create a module for containing types via an instance of the ModuleBuilder
class.
3. Create types with instances of the TypeBuilder
class.
4. Add members to the TypeBuilder
via XBuilder
objects, such as MethodBuilder
, FieldBuilder
, and PropertyBuilder
.
5. Save the assembly to disk if required.
The code in Listing 47.4 demonstrates how to create dynamically a simple implementation of the Person ...
Get Visual Basic® 2010 Unleashed now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.