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

三種屬性操作性能比較:PropertyInfo + Expression Tree + Delegate.CreateDelegate

  在《上篇》中,我比較了三種屬性操作的性能:直接操作,單純通過(guò)PropertyInfo反射和IL Emit。本篇繼續(xù)討論這個(gè)話題,我們?cè)僖肓硗鈨煞N額外的屬性操作方式:Expression Tree(這和IL Emit基本一致)和通過(guò)Delegate的靜態(tài)方法CreateDelegate創(chuàng)建相應(yīng)的委托進(jìn)行屬性的賦值和取值。[源代碼從這里下載]

目錄
一、定義測(cè)試相關(guān)的接口、類(lèi)型和委托
二、通過(guò)Expression Tree的方式創(chuàng)建用于屬性操作的委托
三、編寫(xiě)屬性賦值操作測(cè)試方法
四、編寫(xiě)屬性取值操作測(cè)試方法
五、執(zhí)行測(cè)試程序,查看測(cè)試結(jié)果
六、如果在Expression Tree中避免類(lèi)型轉(zhuǎn)換呢?

  一、定義測(cè)試相關(guān)的接口、類(lèi)型和委托

  我首先定義了一個(gè)Bar類(lèi)型和IFoo接口,該接口中僅僅包含一個(gè)類(lèi)型和名稱(chēng)為Bar的可讀寫(xiě)屬性。Foo1、Foo2和Foo3均實(shí)現(xiàn)接口IFoo,這些接口和類(lèi)型定義如下:

public class Bar{ }
public interface IFoo
{
Bar Bar {
get; set; }
}
public class Foo1 : IFoo
{
public Bar Bar { get; set; }
}
public class Foo2 : IFoo
{
public Bar Bar { get; set; }
}
public class Foo3 : IFoo
{
public Bar Bar { get; set; }
}

NET技術(shù)三種屬性操作性能比較:PropertyInfo + Expression Tree + Delegate.CreateDelegate,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 黄录象| 1905电影网免费电影| 可爱美女跳舞蹈视频| 聊斋花弄月普通话版免费| 电影鸭之一族| 境界千年血战篇| 远景山谷1981原版| 正在行动| 安全管理论文| 月亮电影| 青草国产视频| 翟小兴演过的电视剧大全| 婚姻审判短剧免费观看全集| 违规吃喝问题研讨发言材料 | 美丽的邂逅| 误杀1演员表| 张猛龙魏碑字帖大全| 秀人网xiuren大尺度| 尤勇个人资料简介简历| 韶山行研学心得体会| 男同视频在线| 韩宇辰| 追捕演员表| 校园大片ppt| 赛虎| 亚新| 算死草粤语| 折纸视频教程| 风霜踩泥| 蜡笔小新日语| 打美女屁股视频| 北通阿修罗2pro说明书| 日本电影家庭教师| 3844开关电源电路图| 廊桥遗梦演员表| 扩内需| 皮肤诊所| 电影大事件| 英雄第二季| 香谱七十二法图解| 八年级下册英语外研版|