C#擴充套件方法示例(this關鍵字)
阿新 • • 發佈:2019-01-12
擴充套件方法能夠向現有型別“新增”方法,而無需建立新的派生型別、重新編譯或以其他方式修改原始型別。擴充套件方法是一種特殊的靜態方法,但可以像擴充套件型別上的例項方法一樣進行呼叫。C#擴充套件方法第一個引數指定該方法作用於哪個型別,並且該引數以 this 修飾符為字首。
1.擴充套件方法(this 需要擴充套件的類 命名),如:public static void ExtensionEat(this Person person);
2.擴充套件方法必須是靜態的
2.呼叫擴充套件方法,必須用物件來呼叫
namespace ConsoleApp1 { class Program { static void Main(string[] args) { Person p = new Person(); p.ExtensionEat(); p.ExtensionHello(); Console.ReadKey(); } } public class Person { public void Eat() { Console.WriteLine("吃飯"); } public void Hello(string name) { Console.WriteLine("你好," + name); } } public static class ExtensionPerson { public static void ExtensionEat(this Person person) { person.Eat(); Console.WriteLine("吃完了"); } public static void ExtensionHello(this Person person) { person.Hello("李疆"); Console.WriteLine("hahahah"); } } }