public TestMyClass() { object @this = this; TestMyClass3 obj = @this as TestMyClass3; obj.ID = 3333; }
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(); }