예제 #1
0
        public TestMyClass()
        {
            object       @this = this;
            TestMyClass3 obj   = @this as TestMyClass3;

            obj.ID = 3333;
        }
예제 #2
0
파일: Program.cs 프로젝트: cwigley/RAspect
        unsafe static void Main(string[] args)
        {
            var tdMethod  = typeof(TestData).GetMethod("ToString");
            var tdsMethod = typeof(TestData).GetMethod("ToStringEx");

            tdMethod.SwapWith(tdsMethod);

            var tdata   = new TestData();
            var ttdatas = tdata.ToString();

            Console.WriteLine(ttdatas);

            return;

            ILWeaver.Weave();
            ILWeaver.SaveAssembly();

            var ctor  = typeof(TestMyClass3).GetConstructor(Type.EmptyTypes);
            var ctor2 = typeof(TestMyClass).GetConstructor(Type.EmptyTypes);

            var d  = (uint *)ctor.MethodHandle.Value.ToPointer();
            var sa = (uint *)ctor2.MethodHandle.Value.ToPointer();

            *d = *sa;

            var tobj = new TestMyClass3();

            tobj.Value = "*****@*****.**";
            var evt = new EventHandler((s, e) => { Console.WriteLine("Simple Delegate"); });

            tobj.myEvent += evt;
            tobj.TestParameterMethod(tobj.Value);



            Console.ReadLine();
            return;

            TestPerf("RAspect-Empty Method", () =>
            {
                var obj = new TestMyClass3();
                obj.Test(10, 10, new Complex {
                    ID = 100
                });
                obj.Test(10, 10, new Complex {
                    ID = 100
                });
            });

            TestPerf("Empty Method", () =>
            {
                var obj = new TestMyClass();
                obj.Test(10, 10, new Complex {
                    ID = 100
                });
                obj.Test(10, 10, new Complex {
                    ID = 100
                });
            });

            System.Console.Read();
        }