• 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 江西省体彩十一选五今天开奖结果:晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo

    来源:本网整理

    彩票双色球历史开奖结果 www.s9h6.com 在《一句代码实现批量数据绑定》中,我通过界面控件ID与作为数据源的实体属性名之间的映射实现了批量数据绑定。由于里面频繁涉及对属性的反射——通过反射从实体对象中获取某个属性值;通过反射为控件的某个属性赋值,所以这不是一种高效的操作方式。为了提升性能,我通过IL Emit的方式创建了一个PropertyAccessor组件,以实现高效的属性操作。如果你看了我在文中给出的三种属性操作性能的测试结果,相信会对PropertyAccessor的作用有深刻的印象。[源代码从这里下载]

    目录:
    一、PropertyAccessor与PropertyAccessor<T>的API定义
    二、如何通过PropertyAccessor获取属性值和为属性赋值
    三、Set和Get的实现
    四、比较三种属性操作的性能
    五、PropertyAccessor的ExpressionTree版本

    一、PropertyAccessor与PropertyAccessor<T>的API定义

    我们照例从编程——即如何使用PropertyAccessor进行属性操作(获取属性值/为属性赋值)讲起,所有先来看看PropertyAccessor提供了哪些API功我们调用。从下面的代码片断我们可以看到,PropertyAccessor得构造函数接受两个参数:目标对象的类型和属性名称,然后通过Get获取目标对象相应属性的值,通过Set方法为目标对象的属性进行赋值。此外,PropertyAccessor还提供了两个对应的Get/Set静态方法通过指定具体的目标对象和属性名称实现相同的操作。

       1: public class PropertyAccessor
       2: {
       3:     public PropertyAccessor(Type targetType, string propertyName);    
       4:  
       5:     public object Get(object obj);
       6:     public void Set(object obj, object value);
       7:  
       8:     public static object Get(object obj, string propertyName);
       9:     public static void Set(object obj, string propertyName, object value);
      10:     //Others...
      11: }

  • 本文相关:
  • 一句代码实现批量数据绑定[下篇]
  • 在Entity Framework中使用存储过程(五):如何通过存储过程维护多对多关系?
  • 谈谈Nullable<T>的类型转换问题
  • 两个简单的扩展方法:TrimPrefix和TrimSuffix
  • 三种属性操作性能比较:PropertyInfo + Expression Tree + Delegate.CreateDelegate
  • 一句代码实现批量数据绑定[上篇]
  • 在Entity Framework中使用存储过程(四):如何为Delete存储过程参数赋上Current值?
  • Windows安全认证是如何进行的?[Kerberos篇]
  • 在Entity Framework中使用存储过程(二):具有继承关系实体的存储过程如何定义?
  • 一个关于ConfigurationManager.GetSecion方法的小问题
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 彩票双色球历史开奖结果 - 频道导航
    Copyright © 2017 彩票双色球历史开奖结果 www.s9h6.com All Rights Reserved
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 58同城炸金花 安徽快3形态 时时彩时间改在20分一期 大乐透上下出球规律 湖南福彩网 必赢上不了 体彩半全场怎么玩 双色球基本走势图带坐标 北京快3走势图表形态 任选三倍投计划表 老快3走势分析 濠江神算 河北快三预测今天 安徽11选5五码分布 北京pk赛车哪里可以玩