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