當前位置:
首頁 >
扩展方法的定义及使用
發(fā)布時間:2025/3/13
45
豆豆
生活随笔
收集整理的這篇文章主要介紹了
扩展方法的定义及使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
擴展方法是定義在靜態(tài)類內部的靜態(tài)方法,開發(fā)人員可以像用實例方法那樣來使用擴展方法。根據(jù)C#的語法規(guī)定,實例方法只能通過建立一個實例對象才能調用,不能通過類名來調用,相反的,靜態(tài)方法只能通過類名來調用。而擴展方法提供了一個新的機制可以在對象實例上調用靜態(tài)方法。擴展方法主要用于在不改變現(xiàn)有的類型代碼下,擴展現(xiàn)有類型的功能。所擴展的功能只限于當前上下文有效,并不會對原有類型的定義的代碼產生變化。
注意:擴展方法類和要擴展的類須具有相同的命名空間。
它的一般聲明格式如下:
public static class 類名
{
public static 返回類型 擴展方法名 (this?要擴展的類型 參數(shù)名)
{
函數(shù)體;
}
}
通過示例說明:
?
?
class?Program????{
????????static?void?Main(string[]?args)
????????{
????????????Complex?com?=?new?Complex(10,?-10);
????????????var?real?=?com.ToDouble();//調用擴展方法
????????????Console.WriteLine("復數(shù)"+com.ToValue()+"轉換為double類型:"+real);
????????????Console.Read();
????????}
????}
????public?static?class?Extensions
????{
????????///?<summary>?
????????///?///?把復數(shù)類型轉換為double類型(Complex的擴展方法)?
????????///?///?</summary>?
????????///?///?<param?name="com">復數(shù)</param>?
????????///?///?<returns>雙精度值</returns>?
????????public?static?double?ToDouble(this?Complex?com)
????????{
????????????return?com.Real;
????????}
????????//把復數(shù)轉換為字符串類型(Complex的擴展方法)
????????///?</summary>
????????///?///?<param?name="com">復數(shù)</param>
????????///?///?<returns>字符串值</returns>
????????public?static?string?ToValue(this?Complex?com)
????????{
????????????string?str?=?com.Real.ToString();
????????????if?(com.Imag?>?0)
????????????????str?+=?"+";
????????????if?(com.Imag?!=?0)
????????????????str?+=?com.Imag?+?"i";
????????????return?str;
????????}
????}
????public?class?Complex?
????{?
????????//實數(shù)?
????????protected?double?real;?
????????public?double?Real?{?get?{?return?real;?}?}?
????????//虛數(shù)?
????????private?double?imag;
????????public?double?Imag?{?get?{?return?imag;?}?}
????????public?Complex(double?real,?double?imag)
????????{
????????????this.real?=?real;
????????????this.imag?=?imag;
????????}
????}
?
轉載于:https://www.cnblogs.com/zhuawang/archive/2011/10/07/2200926.html
總結
以上是生活随笔為你收集整理的扩展方法的定义及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 凯越USB无法播放
- 下一篇: 两块 硬盘 主从盘跳线详解