Ejemplo n.º 1
0
        public void TestSwitch()
        {
            var c = new CodeDomGenerator();

            c.AddNamespace("Samples").AddClass("cls")
            .AddMethod(MemberAttributes.Static | MemberAttributes.Public, (int i) => "foo",
                       Emit.@switch((int i) => i)
                       .Case(1,
                             Emit.stmt(() => Console.WriteLine("1")),
                             Emit.exitSwitch()
                             )
                       .Case(2,
                             Emit.stmt(() => Console.WriteLine("2")),
                             Emit.exitSwitch()
                             )
                       .CaseElse(
                           Emit.stmt((int i) => Console.WriteLine(i)),
                           Emit.exitSwitch()
                           )
                       )
            ;

            Console.WriteLine(c.GenerateCode(CodeDomGenerator.Language.CSharp));

            Console.WriteLine(c.GenerateCode(CodeDomGenerator.Language.VB));

            var ass = c.Compile();

            Assert.IsNotNull(ass);

            Type TestClass = ass.GetType("Samples.cls");

            Assert.IsNotNull(TestClass);
        }