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型別的一部分。在擴充套件...