public static void TestNonStaticMethod()
            {
                TestClass obj = new TestClass();

                DynamicMethodProxyHandler handler = fac.GetMethodDelegate(typeof(TestClass).GetMethod("NonStaticReturnVoidMethod"));

                handler(obj, null);

                object[] inputParams = new object[] { "str", 1, null, null };
                handler = fac.GetMethodDelegate(typeof(TestClass).GetMethod("NonStaticReturnIntMethod"));
                object ret = handler(obj, inputParams);

                Check.Assert(((int)inputParams[2]) == 2);
                Check.Assert(((string)inputParams[3]) == "outstr");
                Check.Assert(((int)ret) == 3);
            }