C# 扩展方法
先來做一下MCSD試題;
?
?
? ? 答案是C;
題目是問怎么定義擴展方法;
下面來看一下擴展方法;
? ? ?擴展方法是C# 3.0 中新增特性,可在不修改源類代碼情況,通過ADD File 模式對源代碼功能擴展。
? ? ?擴展方法要求如下:
? ? a.擴展方法需包含在 static 修飾類中.
? ? b.擴展實現需是靜態形式。
? ? c.擴展方法第一個參數 前綴為 this , 表示需要擴展類對象,從第二個參數開始,為擴展方法參數列表。
MSDN說:
“擴展方法使您能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。
也就是你可以對String,Int,DataRow,DataTable等這些類型的基礎上增加一個或多個方法,使用時不需要去修改或編譯類型本身的代碼。
在同一命名空間下可用,使用起來感覺和.Net framework定義的方法一樣;增加編程的便利性;
看一個簡單示例;
在靜態類DateHelper中定義了對DateTime類型的一個擴展方法DateToString;
now1是DateTime類型,當敲入.之后,DateToString方法也隨同netframework提供的方法一起列出;
?
運行如下;
?
假如類非靜態,使用 (this 類型 參數名) 來定義擴展方法,則提示 擴展方法只能在靜態類內定義;
?
? ? 上面工具是精簡版的開發工具sharpdevelop;
總結
- 上一篇: C#方法带不确定个数参数
- 下一篇: GIS坡度分析入门实例 - 使用Supe