Beispiel #1
0
        public void TestLock()
        {
            var c = new CodeDomGenerator();

            c.AddNamespace("Samples").AddClass("cls")
            .AddMethod(MemberAttributes.Static | MemberAttributes.Public, (System.IO.MemoryStream ms) => "foo",
                       Emit.@lock((System.IO.MemoryStream ms) => ms,
                                  Emit.stmt(() => Console.WriteLine("using"))
                                  )
                       )
            .AddMethod(MemberAttributes.Static | MemberAttributes.Public, () => "zoo",
                       Emit.@lock(() => string.Intern("asdflaskj"),
                                  Emit.stmt(() => Console.WriteLine("using"))
                                  )
                       )
            ;

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