擴充套件方法的特徵
1、它必須在一個非巢狀的,非泛型的靜態類中
2、它至少有一個引數
3、第一個引數必須加上this關鍵字作為字首
4、第一個引數不能有任何其他的修飾符(比如out或ref)
5、第一個引數的型別不能是指標型別
For Example
public Class Person
{
public void ShowName(string name)
{
Console.WriteLine(name);
}
}
//擴充套件方法的建立
public Static Class ExtendPerson
{
public Static void ShowAge(this Person person,int age)
{
Console.WriteLine(age);
}
}
//擴充套件方法的使用
Person person = new Person();
person.ShowAge(10);
複製程式碼
.Net3.5中的擴充套件方法
擴充套件方法你能一種自然的方式將靜態方法呼叫連結到一起,主要體現在Queryable,Enumerable中。
For Example
var collection Enumerable.Range(0,9)
.Where(x => x % 2 == 0)
.Reverse();
foreach(var element in collection)
{
Console.WriteLine(element);
}
複製程式碼