CodeEmitor.buildStaticConstructor C# (CSharp) Method

buildStaticConstructor() private method

private buildStaticConstructor ( ) : void
return void
    private void buildStaticConstructor()
    {
        var methodBuilder = TypeBuilder.DefineConstructor(MethodAttributes.Static | MethodAttributes.Private, CallingConventions.Standard, null);
        var ilEmitor = methodBuilder.GetILGenerator();
        ilEmitor.Emit(OpCodes.Newobj, typeof(Dictionary<string, object>).GetConstructor(new Type[]{}));
        ilEmitor.Emit(OpCodes.Stsfld, GlobalField);

        ilEmitor.Emit(OpCodes.Ldsfld, GlobalField);
        ilEmitor.Emit(OpCodes.Ldstr, "__s_random");
        ilEmitor.Emit(OpCodes.Newobj, typeof(Random).GetConstructor(new Type[]{}));
        ilEmitor.Emit(OpCodes.Callvirt, typeof(Dictionary<string, object>).GetMethod("set_Item"));

        ilEmitor.Emit(OpCodes.Ret);
    }