Example #1
0
 static void TestSetValueCache(int count = 10000000)
 {
     var user = new UserVO();
     var propertyInfo = user.GetType().GetProperty("UserName");
     SpeedTest.ConsoleTime("手动赋值", count, () =>
     {
         user.UserName = "******";
     });
     SpeedTest.ConsoleTime("表达式树赋值", count, () =>
     {
         CacheManger.SetValue(propertyInfo, user, "jj");
     });
     SpeedTest.ConsoleTime("反射赋值", count, () =>
     {
         propertyInfo.SetValue(user, "jj", null);
     });
 }
Example #2
0
 static void TestGetValueCache(int count = 1000000)
 {
     var user = new UserVO();
     var propertyInfo = user.GetType().GetProperty("UserName");
     SpeedTest.ConsoleTime("手动取值", count, () =>
     {
         var a = user.UserName;
     });
     SpeedTest.ConsoleTime("表达式树取值", count, () =>
     {
         var a = PropertyGetCacheManger.Cache(propertyInfo, user);
     });
     SpeedTest.ConsoleTime("反射取值", count, () =>
     {
         var a = propertyInfo.GetValue(user, null);
     });
 }
Example #3
0
        static void TestGetValueCache(int count = 1000000)
        {
            var user         = new UserVO();
            var propertyInfo = user.GetType().GetProperty("UserName");

            SpeedTest.ConsoleTime("手动取值", count, () =>
            {
                var a = user.UserName;
            });
            SpeedTest.ConsoleTime("表达式树取值", count, () =>
            {
                var a = PropertyGetCacheManger.Cache(propertyInfo, user);
            });
            SpeedTest.ConsoleTime("反射取值", count, () =>
            {
                var a = propertyInfo.GetValue(user, null);
            });
        }
Example #4
0
        static void TestSetValueCache(int count = 10000000)
        {
            var user         = new UserVO();
            var propertyInfo = user.GetType().GetProperty("UserName");

            SpeedTest.ConsoleTime("手动赋值", count, () =>
            {
                user.UserName = "******";
            });
            SpeedTest.ConsoleTime("表达式树赋值", count, () =>
            {
                PropertySetCacheManger.Cache(propertyInfo, user, "jj");
            });
            SpeedTest.ConsoleTime("反射赋值", count, () =>
            {
                propertyInfo.SetValue(user, "jj", null);
            });
        }