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

不能不說的C#特性-擴展方法

系列文章導航:

走進Linq--Linq橫空出世篇

走進Linq-輝煌的背后

走進Linq-Linq大觀園

不能不說的C#特性-對象集合初始化器

不能不說的C#特性-匿名類型與隱式類型局部變量

不能不說的C#特性-擴展方法

不能不說的C#特性-匿名方法和Lambda表達式

不能不說的C#特性-迭代器(上)及一些研究過程中的副產品

不能不說的C#特性-迭代器(下),yield以及流的延遲計算

走進Linq-Linq to Objects(上)基礎篇

走進Linq-Linq to Objects(下)實例篇

走進Linq-Linq to SQL感性認識篇

走進Linq-Linq to SQL How do I(1)

走進Linq-Linq to SQL How do I(2)

走進Linq-Linq to SQL How do I(3)

走進Linq-How do I(4)拾遺補零篇第一節

走進Linq-Linq to SQL源代碼賞析 Table的獲取過程

走進Linq-Linq to SQL源代碼賞析之Provider的初始化

走進Linq-Linq to SQL源代碼賞析,通過Linq to SQL看Linq


在我們的編程生涯中我們要使用很多很多類庫,這些類庫有的是我們自己開發的,我們有她的代碼,有的是第三方發布的,我們不僅沒有他們的代碼,連看的機會都沒有。

作為.NET程序員,我們每天都要和BCL(Base Class Linbrary)打交道。無疑,BCL做為一個年輕的框架類庫,她是成功的,但是還有一些時候我們還是得寫一些”Helper”方法來擴展類庫,由于我們不能修改類庫的源代碼,我們只有寫一個個的靜態類。雖然在使用上也算方便,但作為追求完美的程序員來說總有些不雅。現在我就碰到這樣的事情,前兩天奉命寫一個從XML文件加載Chart圖的設置的方法,從XML加載數據綁定到對象上,這肯定是反射的用武之地了。我經常需要寫一些根據對象屬性名字來判斷這個對象是否有這個屬性或者根據屬性名獲取該屬性的值。還是按照平常一樣,我很快寫了一個PropertyHelper,里面有兩個靜態方法:HASProperty,GetValueByName。

PropertyHelper.HASProperty(point, "X"),如此的調用也還過得去,不過在C# 3.0微軟為我們提供了擴展方法。現在我們可以直接這樣調用了point.HASProperty(“X”);看看我是如何實現這個擴展方法的?

public static class PropertyExtension
{
        
public static object GetValueByName(this object self, string propertyName)
        {
            
if (self == null)
            {
                
return self ;
            }
            Type t 
= self.GetType();
            PropertyInfo p 
= t.GetProperty(propertyName);
            
return p.GetValue(self, null);
        }
}

it知識庫不能不說的C#特性-擴展方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 许忠| 杰深斯坦森全部电影| 汤唯和梁朝伟拍戏原版视频| 影音先锋欧美| 风雨丽人 电视剧| 老江湖| 朱莉与朱莉娅| 《荷塘月色》课文| 我仍在此 电影| 王少| 射雕英雄传李亚鹏| 历史试卷反思| 阴阳界 电影| 潜行在线观看| cctv第一剧场频道| 风之谷钢琴谱| jayden jaymes| 熊出没在线播放| 破晓东方演员表名单| 端午给老板祝福简短句| 赵冬苓代表作品有哪些| 何丽萍| 山西电视台直播在线观看| 山上的小屋 残雪原文| 色戒在线观看汤唯| 红髅| 电影美丽人生| 厕所英雄| 林佑星| 电视剧暗夜与黎明剧情介绍| 一元二次方程计算题| jayden jaymes| 749局演员表| 《一生一世》免费观看完整版| 夫妻的世界韩国电影| 饭店装修效果图| 包青天开封奇案| 萱草花合唱谱二声部完整版| 住院吸氧是一天24小时算钱吗| 网络谜踪2 电影| doors2怪物图鉴|