擴充套件方法(C#)
阿新 • • 發佈:2018-12-22
C#擴充套件方法在不需要直接更新目標型別的情況下,獲得功能上的擴充套件。
擴充套件方法必須定義在靜態類中,並要使用this關鍵字對第一個引數(即目標型別)進行修飾。
static class MyExtensions {
public static void DisplayDefiningAssembly(this object obj) {
System.Reflection.Assembly.GetAssembly(obj.GetType()));
}
Console.WriteLine("{0} called Foo() and msg = {1}", i, msg);
}
}
static void Main(string[] args) {
int x = 12345;
//在例項層次上呼叫擴充套件方法
x.DisplayDefiningAssembly();
//C#編譯器僅以普通的方式呼叫靜態方法,我們也可以自己靜態呼叫擴充套件方法
MyExtensions.DisplayDefiningAssembly(x);
}