四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

晚綁定場(chǎng)景下對(duì)象屬性賦值和取值可以不需要PropertyInfo

  在《一句代碼實(shí)現(xiàn)批量數(shù)據(jù)綁定》中,我通過(guò)界面控件ID與作為數(shù)據(jù)源的實(shí)體屬性名之間的映射實(shí)現(xiàn)了批量數(shù)據(jù)綁定。由于里面頻繁涉及對(duì)屬性的反射——通過(guò)反射從實(shí)體對(duì)象中獲取某個(gè)屬性值;通過(guò)反射為控件的某個(gè)屬性賦值,所以這不是一種高效的操作方式。為了提升性能,我通過(guò)IL Emit的方式創(chuàng)建了一個(gè)PropertyAccessor組件,以實(shí)現(xiàn)高效的屬性操作。如果你看了我在文中給出的三種屬性操作性能的測(cè)試結(jié)果,相信會(huì)對(duì)PropertyAccessor的作用有深刻的印象。[源代碼從這里下載]

目錄:
一、PropertyAccessor與PropertyAccessor<T>的API定義
二、如何通過(guò)PropertyAccessor獲取屬性值和為屬性賦值
三、Set和Get的實(shí)現(xiàn)
四、比較三種屬性操作的性能
五、PropertyAccessor的ExpressionTree版本

  一、PropertyAccessor與PropertyAccessor<T>的API定義

  我們照例從編程——即如何使用PropertyAccessor進(jìn)行屬性操作(獲取屬性值/為屬性賦值)講起,所有先來(lái)看看PropertyAccessor提供了哪些API功我們調(diào)用。從下面的代碼片斷我們可以看到,PropertyAccessor得構(gòu)造函數(shù)接受兩個(gè)參數(shù):目標(biāo)對(duì)象的類型和屬性名稱,然后通過(guò)Get獲取目標(biāo)對(duì)象相應(yīng)屬性的值,通過(guò)Set方法為目標(biāo)對(duì)象的屬性進(jìn)行賦值。此外,PropertyAccessor還提供了兩個(gè)對(duì)應(yīng)的Get/Set靜態(tài)方法通過(guò)指定具體的目標(biāo)對(duì)象和屬性名稱實(shí)現(xiàn)相同的操作。

public class PropertyAccessor
{
public PropertyAccessor(Type targetType, string propertyName);

public object Get(object obj);
public void Set(object obj, object value);

public static object Get(object obj, string propertyName);
public static void Set(object obj, string propertyName, object value);
//Others...
}

NET技術(shù)晚綁定場(chǎng)景下對(duì)象屬性賦值和取值可以不需要PropertyInfo,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 冰之下| 四年级下册绿| 金马电影网| 狗叫声吸引狗| 秀人网 官网门户免费| 霹雳女王蜂| 打开双腿扒开打屁股羞辱惩罚视频| 《父亲的爱》阅读理解答案| 亚洲免费观看视频| sandrarusso精品艳妇| 新力量电影在线观看免费| 为奴12年| 华师大图书馆| 妻子出轨| 向退休生活游戏正版赚钱入口| 热天午后| 大奉打更人电视剧在线观看全集免费播放| 焊缝外观质量检验标准 | squirting| 赵奕欢电影| 溜冰圆舞曲音乐教案| 同性gay| 公公媳妇电影| 凤凰卫视资讯台直播| 生物七年级下册人教版电子书| 快点受不了了| 电影《村小的孩子》完整版| 法证先锋2| 暗夜深海电视剧免费观看| 在线高清毛片免费播放网站| 破天荒| 勇者1—42集免费观看电视剧视频| 模特走秀视频| 金珊| 外国小哥街头索吻狂魔| 洛城僵尸| 小猪佩奇最新第十季| 延边卫视节目表| austin rivers| 抖音app下载| 电视剧暗夜与黎明剧情介绍|