c 高階應用 理解擴充套件方法

2021-09-24 07:16:53 字數 604 閱讀 7005

1、它必須在乙個非巢狀的,非泛型的靜態類中

2、它至少有乙個引數

3、第乙個引數必須加上this關鍵字作為字首

4、第乙個引數不能有任何其他的修飾符(比如out或ref)

5、第乙個引數的型別不能是指標型別

for example

public class person

}//擴充套件方法的建立

public static class extendperson

}//擴充套件方法的使用

person person = new person();

person.showage(10);

複製**

擴充套件方法你能一種自然的方式將靜態方法呼叫鏈結到一起,主要體現在queryable,enumerable中。

for example

var collection enumerable.range(0,9)

.where(x => x % 2 == 0)

.reverse();

foreach(var element in collection)

複製**

C 擴充套件方法的理解

c 擴充套件方法的理解 擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。這是msdn上說的,也就是你可以對string,int,datarow,datatable等這些型別的基礎上增加乙個或多個方法,使用時不需要去修改或編譯型別本身的 先做個例子...

C 擴充套件方法的理解

擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。這是msdn上說的,也就是你可以對string,int,datarow,datatable等這些型別的基礎上增加乙個或多個方法,使用時不需要去修改或編譯型別本身的 先做個例子吧,以string為例,...

c 擴充套件方法的理解

擴充套件方法是靜態方法,是類的一部分,但是實際上沒有放在類的源 中。擴充套件方法所在的類也必須被宣告為static c 只支援擴充套件方法,不支援擴充套件屬性 擴充套件事件等。擴充套件方法的第乙個引數是要擴充套件的型別,放在this關鍵字的後面,告訴編譯期這個方法是money型別的一部分。在擴充套件...