System C# by API

using System;
using System.Reflection;
using System.Reflection.Emit;
public class MainClass 
{
    public static void Main() 
    {
        AppDomain ad = AppDomain.CurrentDomain;
        AssemblyName an = new AssemblyName();
        an.Name = "DynamicRandomAssembly";
        AssemblyBuilder ab = ad.DefineDynamicAssembly(an, AssemblyBuilderAccess.Run);
        ModuleBuilder mb = ab.DefineDynamicModule("RandomModule");
        TypeBuilder tb = mb.DefineType("DynamicRandomClass",TypeAttributes.Public);
        Type returntype = typeof(int);
        Type[] paramstype = new Type[0];
        MethodBuilder methb=tb.DefineMethod("DynamicRandomMethod", MethodAttributes.Public, returntype, paramstype);
        ILGenerator gen = methb.GetILGenerator();
        gen.Emit(OpCodes.Ldc_I4, 1);
        gen.Emit(OpCodes.Ret);
        Type t = tb.CreateType();
        Object o = Activator.CreateInstance(t);
        Object[] aa = new Object[0];
        MethodInfo m = t.GetMethod("DynamicRandomMethod");
        int i = (int) m.Invoke(o, aa);
        Console.WriteLine("Method {0} in Class {1} returned {2}",m, t, i);
    }
}
using System;
public class DynamicRandomClass
{
    public int DynamicRandomMethod()
    {
        return 1;
    }
}