• 反射获取运行时属性值的替代方法


    方法一:表达式树

      1         public static Dictionary<string, Func<T, object>> InitDic<T>()

     2         {
     3             Dictionary<string, Func<T, object>> model = new Dictionary<string, Func<T, object>>();
     4             var plist = typeof(T).GetProperties().ToList();
     5             var newa = Expression.Parameter(typeof(T), "c");
     6 
     7             foreach (var item in plist)
     8             {
     9                 var callfoo = Expression.Property(newa, typeof(T).GetProperty(item.Name));
    10                 var convert = Expression.Convert(callfoo, typeof(object));
    11                 var func = Expression.Lambda<Func<T, object>>(convert, newa).Compile();
    12                 model.Add(item.Name, func);
    13             }
    14 
    15             return model;
    16         }
  • 相关阅读:
    完全N叉树寻找祖先
    MySql_Front新建数据库遇到访问地址冲突问题
    C++金额的中文大写
    STL_sort cmp
    螺旋数组
    ~
    Struts向JSP中传值
    Struts1-配置文件部分
    jQuery Ajax 的 load()方式
    jquery animate
  • 原文地址:https://www.cnblogs.com/baozhu/p/4462087.html
Copyright © 2020-2023  润新知