Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //            Thread.Sleep(1000);
            //            {
            //                try {
            //                    Script script = new Script();
            //                    script.LoadLibrary();
            //                    script.PushFastReflectClass(typeof(Test), new ScorpioClass_ScorpioReflect_Test(script));
            //                    script.SetObject("Test", script.CreateObject(new Test(100)));
            //                    var time = Environment.TickCount;
            //                    for (int i = 0; i < 1000000; ++i) {
            //                        script.LoadString(@"
            //Test.Func()
            //");
            //                    }
            //                    Console.WriteLine(Environment.TickCount - time);
            //                } catch (System.Exception ex) {
            //                    Console.WriteLine(ex.ToString());
            //                }

            //            }
            //            {
            //                Script script = new Script();
            //                script.LoadLibrary();
            //                script.SetObject("Test", script.CreateObject(new Test(100)));
            //                var time = Environment.TickCount;
            //                for (int i=0;i<1000000;++i)
            //                {
            //                    script.LoadString(@"
            //Test.Func()
            //");
            //                }

            //                Console.WriteLine(Environment.TickCount - time);
            //            }
            //            Console.ReadKey();
            var g   = new Scorpio.ScorpioReflect.GenerateScorpioClass(typeof(Test));
            var str = g.Generate();

            File.WriteAllText(@"C:\Users\qingf\Desktop\ConsoleApplication1\ConsoleApplication1\" + g.ScorpioClassName + ".cs", str, Encoding.UTF8);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            //            Thread.Sleep(1000);
            //            {
            //                try {
            //                    Script script = new Script();
            //                    script.LoadLibrary();
            //                    script.PushFastReflectClass(typeof(Test), new ScorpioClass_ScorpioReflect_Test(script));
            //                    script.SetObject("Test", script.CreateObject(new Test(100)));
            //                    var time = Environment.TickCount;
            //                    for (int i = 0; i < 1000000; ++i) {
            //                        script.LoadString(@"
            //Test.Func()
            //");
            //                    }
            //                    Console.WriteLine(Environment.TickCount - time);
            //                } catch (System.Exception ex) {
            //                    Console.WriteLine(ex.ToString());
            //                }

            //            }
            //            {
            //                Script script = new Script();
            //                script.LoadLibrary();
            //                script.SetObject("Test", script.CreateObject(new Test(100)));
            //                var time = Environment.TickCount;
            //                for (int i=0;i<1000000;++i)
            //                {
            //                    script.LoadString(@"
            //Test.Func()
            //");
            //                }

            //                Console.WriteLine(Environment.TickCount - time);
            //            }
            //            Console.ReadKey();
            {
                var g   = new Scorpio.ScorpioReflect.GenerateScorpioClass(typeof(Test));
                var str = g.Generate();
                File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + g.ScorpioClassName + ".cs", str, Encoding.UTF8);
            }
            {
                var g = new Scorpio.ScorpioReflect.GenerateScorpioDelegate();
                g.AddType(typeof(Action <bool>));
                g.AddType(typeof(Action <int>));
                g.AddType(typeof(TestDelegate1));
                g.AddType(typeof(TestDelegate2));
                g.AddType(typeof(TestDelegate3));
                g.AddType(typeof(TestDelegate4));
                g.AddType(typeof(TestDelegate5));
                g.AddType(typeof(TestDelegate6));
                g.AddType(typeof(TestDelegate7));
                File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + g.ClassName + ".cs", g.Generate(), Encoding.UTF8);
            }
            {
                var g = new Scorpio.ScorpioReflect.GenerateScorpioType();
                g.AddType(typeof(List <int>));
                g.AddType(typeof(Script));
                g.AddType(typeof(TestTemp <short, int> .Test <byte, long>));
                File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + g.ClassName + ".cs", g.Generate(), Encoding.UTF8);
                //StringBuilder builder = new StringBuilder();
                //Type[] types = new Type[] {
                //    typeof(TestTemp<sbyte,byte>.Test<short,ushort>.Test1<int,uint>),
                //};
                //foreach (var type in types) {
                //    builder.AppendLine(ScorpioReflectUtil.GetFullName(type));
                //    builder.AppendLine(type.FullName);
                //    builder.AppendLine();
                //}
                //File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/a.cs", builder.ToString());
            }
        }