日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C# 扩展方法

發布時間:2024/9/20 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 扩展方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

擴展方法是C#3.0的特征之一,通過擴展方法可以在不創建派生類類型,不修改原始類型的基礎上,直接向現有類型添加方法。擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。

包含擴展方法的類必須定義為靜態(static)類,擴展方法也必須定義為靜態方法。第一個參數為擴展類型,必須用this關鍵是修飾,擴展方法可以作為普通方法一樣調用。

1 新建一項目,在項目中新建一命名空間Extra,定義幾個基礎類型的擴展方法

namespace Extra
{

public static class Test
{

//定義string類型的擴展方法IsRight()
public static bool IsRight(this string str)
{
switch (str.ToUpper().Trim())
{
case "RIGHT": return true;
default:
return false;
}
}

//定義Int類型的擴展方法IsRight()

public static bool IsRight(this int str)
{
if (str > 10)

return true;
else
return false;

}

//定義Obj類型的擴展方法
public static void Print(this object obj, string hink)
{
MessageBox.Show(obj.ToString());
MessageBox.Show(hink.ToString());
}

}

}

2 在項目中調用擴展方法

private void buttonStings_Click(object sender, EventArgs e)
{
string str1 = "right";
string str2 = "err";
MessageBox.Show(str1.IsRight().ToString());
}

private void buttonInts_Click(object sender, EventArgs e)
{
string str1 = "right";
string str2 = "err";
MessageBox.Show(1.IsRight().ToString());
}

private void buttonPrint_Click(object sender, EventArgs e)
{
string str3 = "123";
str3.Print("abc");
}

private void buttonEXprint_Click(object sender, EventArgs e)
{
Test.Print("123", "456");
}

總結:在擴展方法使用前需要顯示的引用擴展方法所在的命名空間;

? ? ? ? 定義完成擴展方法之后,完全可以像類型的重載一樣調用擴展方法;

   ?擴展方法被調用時和普通的成員方法被調用時一樣,擴展方法的第一個參數也需要在調用時指出。

轉載于:https://www.cnblogs.com/zoood/p/3617918.html

總結

以上是生活随笔為你收集整理的C# 扩展方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。