根據擴充的字面意思,附加方法稱為C#擴充方法,使用它可以在不做任何更改或繼承或重構原始結構、類別或介面的情況下添加附加方法,我們可以添加這樣的擴充方法我們創建的自訂類別、.NET 框架的類別或來自第三方或介面的類,這些擴展方法可以在整個程式流程中透過包含定義它們的命名空間來訪問,並且它是靜態方法靜態類別中定義的特殊類型。
定義命名空間、類別和擴充方法。
文法:
namespace namespace_name { public static class class_name { public static bool extension_method_name(parameters_list) { //Blocks of code } } }
其中namespace_name是定義擴充方法的命名空間的名稱。
Class_name 是定義擴充方法的靜態類別的名稱。
Extension_method_name 是擴充方法的名稱。
參數列表是參數列表,第一個參數是方法要操作的運算子的類型,該運算子的前綴為 this 關鍵字。
以下是 C# 擴充方法的範例
C# 程序,示範程序中比較兩個整數的擴充方法:
代碼:
using System; using System.Text; //a namespace called check is defined namespace check { // a static class called extensionclassmethod is defined public static class extensionmethodclass { //extension method to compare two integers is defined public static bool extensionmethodname(this intstr, intval) { return str>val; } } //a class called check1 is defined class check1 { //main method is called static void Main(string[] args) { intstri = 565; //extension method defined in another static class is called here bool z = stri.myExtensionMethod(200); Console.WriteLine("The result of the comparison is: {0}", z); Console.ReadLine(); } } }
輸出:
說明:在上面的程式中,定義了一個名為 check 的命名空間。然後定義一個稱為擴展方法類的靜態類,其中定義了比較兩個整數的擴展方法。然後定義另一個名為 check1 的類,即使它是在不同的類別中定義但位於同一命名空間下,也可以在其中新增擴充方法。擴展方法傳回兩個整數的比較結果。快照的輸出如上面的快照所示。
C# 程式示範程式中的 Extension 方法以找出字串的長度:
代碼:
using System; using System.Text; //a namespace called check is defined namespace check { // a static class called extensionclassmethod is defined public static class extensionmethodclass { //extension method to find out the length of a string is defined public static intextensionmethodname(this string str) { return str.Length; } } //a class called check1 is defined class check1 { //main method is called static void Main(string[] args) { string stri = "ShobhaShivakumar"; //extension method defined in another static class is called here int z = stri.extensionmethodname(); Console.WriteLine("The length of the string obtained by using extension method is: {0}", z); Console.ReadLine(); } } }
輸出:
說明:在上面的程式中,定義了一個名為 check 的命名空間。然後定義一個稱為擴展方法類的靜態類,其中定義了計算作為參數傳遞給它的字串長度的擴展方法。然後定義另一個名為 check1 的類,即使它是在不同的類別中定義但位於同一命名空間下,也可以在其中新增擴充方法。擴展方法傳回作為參數傳遞給它的字串的長度作為結果。快照的輸出如上面的快照所示。
代碼:
using System; using System.Text; //a namespace called check is defined namespace check { // a static class called extensionclassmethod is defined public static class extensionmethodclass { //extension method to add two numbers is defined public static intextensionmethodname(this intstr, intval) { return str+val; } } //a class called check1 is defined class check1 { //main method is called static void Main(string[] args) { intstri = 100; //extension method defined in another static class is called here int z = stri.extensionmethodname(200); Console.WriteLine("The result of addition of two numbers obtained by using extension method is: {0}", z); Console.ReadLine(); } } }
輸出:
說明:在上面的程式中,定義了一個名為 check 的命名空間。然後定義一個稱為擴展方法類的靜態類,其中定義了將作為參數傳遞給它的兩個數字相加的擴展方法。然後定義另一個名為 check1 的類,即使它是在不同的類別中定義但位於同一命名空間下,也可以在其中新增擴充方法。擴展方法傳回兩個數字相加後的結果。
在本教程中,我們透過定義、語法以及程式設計範例及其輸出來了解 C# 擴充方法的概念。
這是 C# 擴充方法的指南。在這裡,我們討論 C# 擴展方法簡介及其工作原理以及範例和程式碼實作。您也可以瀏覽我們其他推薦的文章以了解更多資訊 –
以上是C# 擴充方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!