This is probably the most wonderful this I have explored in .net. What happens here is a user can actually make the EXE file on the fly. System.Runtime.Emit Namespace provides necessary class to do this.After compiling this file and running it on the Console a new file is generated in your folder called TestAsm.exe. This Exe file print's a message "Hello World" on the Console.Source Code//RuntimeEmit.cs using System;using System.Runtime;using System.Runtime.Emit;Class RuntimeEmit{public static void Main(String [] args){AppDomain ad = AppDomain.CurrentDomain;AssemblyName am = new AssemblyName();am.Name = "TestAsm"; AssemblyBuilder ab = ad.DefineDynamicAssembly(am,AssemblyBuilderAccess.Save); ModuleBuilder mb = ab.DefineDynamicModule("testmod","TestAsm.exe"); TypeBuilder tb = mb.DefineType("mytype",TypeAttributes.Public); MethodBuilder metb = tb.DefineMethod("hi",MethodAttributes.Public | MethodAttributes.Static,null,null); mb.SetEntryPoint(metb);ILGenerator il = metb.GetILGenerator();il.EmitWriteLine("Hello World");il.Emit(OpCodes.Ret); tb.CreateType();ab.Save("TestAsm.exe");}}Save this file as RuntimeEmit.cs and Compile C:/>csc RuntimeEmit.cs and run this file C:\>RuntimeEmit to run the Exe file generated C:\>TestAsm
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: