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);
}