示例#1
0
        public void teste4()
        {
            ScriptParsed ScriptParsed = Parser.ParseScriptFile("script4.txt");

            List <String> references = new List <string>()
            {
                "test.exe"
            };

            List <String> usings = new List <string>()
            {
                "test", "System", "System.Collections.Generic"
            };

            usings.AddRange(ScriptParsed.UsingStatements);

            Generator GenerateClassCode = new PloobsScripts.Generator(references, usings, "TesteInter");

            GenerateClassCode.GenerateClass("teste", "interteste");

            GenerateClassCode.GenerateMethod("handle", ScriptParsed.MethodCode, typeof(void), System.CodeDom.MemberAttributes.Public);

            String srt = GenerateClassCode.GetCode(ScriptParsed);

            Console.WriteLine(srt);
            StreamWriter sw = File.CreateText("teste3.cs");

            sw.Write(srt);
            sw.Close();

            String   erro;
            Assembly Assembly = Compilers.GenerateAssembly(srt, references, out erro);

            if (erro != null)
            {
                MessageBox.Show(erro);
                return;
            }

            interteste interteste = Executor.BindTypeFromAssembly <interteste>(Assembly, GenerateClassCode.TypeName);

            interteste.handle();
            interteste.handle();
            interteste.handle();

            Console.ReadLine();
        }
示例#2
0
        public void teste2()
        {
            String        text       = File.ReadAllText("script2.txt");
            List <String> references = new List <String> {
                "System.dll", "mscorlib.dll", "test.exe"
            };
            List <String> imports = new List <String> {
                "test"
            };

            Generator GenerateClassCode = new PloobsScripts.Generator(references, imports, "TesteInter");

            GenerateClassCode.GenerateClass("teste", "interteste");

            GenerateClassCode.GenerateMethod("handle", text, typeof(void), System.CodeDom.MemberAttributes.Public);

            String srt = GenerateClassCode.GetCode();

            Console.WriteLine(srt);
            StreamWriter sw = File.CreateText("teste2.cs");

            sw.Write(srt);
            sw.Close();

            String   erro;
            Assembly Assembly = Compilers.GenerateAssembly(srt, references, out erro);

            if (erro != null)
            {
                MessageBox.Show(erro);
                return;
            }

            interteste interteste = Executor.BindTypeFromAssembly <interteste>(Assembly, GenerateClassCode.TypeName);

            interteste.handle();

            Console.ReadLine();
        }