擴充套件方法使用

2021-09-07 05:00:24 字數 2109 閱讀 9945

上篇說道擴充套件方法的簡單介紹,這裡就說繼續上篇說下使用方法。

擴充套件方法能夠幫助我們向現有型別中加入方法

.來符合我們的須要。

比如我們能夠用擴充套件方法向

string

類中加入乙個isvalidemailaddress方法

,用於檢測是否符合

email標準.

擴充套件方法規定類必須是靜態的

.裡面包括的全部方法必須都是靜態的

,(注意

:不能定義擴充套件屬性和事件

)。且第乙個引數指定方法作用的型別,用

this

修做字首.

比如

public static classmyextensions

,stringsplitoptions.removeemptyentries).length;}}

該方法的引數用

this

,表示自身改動的為

this型別,

擴充套件方法被定義為靜態方法

,可是通過例項才幹呼叫

,並且引數以

this

改動為字首

.並且是在編譯時繫結的

.在使用前首先引入命名空間

,然後例項化物件就能夠呼叫了。

3使用例項

string

類的方法不少

,可是有些用的不是非常習慣

.這裡寫了乙個字元為空的異常提示類

.多用於傳遞查收的校驗

首選定義靜態類

.在定義靜態方法

using system;

usingsystem.collections.generic;

using system.linq;

using system.web;

usingsystem.diagnostics;

usingsystem.reflection;

using system.io;

namespace configurationsectiontest1

////// 檢查物件是否為空。假設為空,丟擲argumentnullexception

////// 被檢查的物件

/// 引數的名稱

[debuggernonusercode]

publicstatic void nullcheck(this object data, string message)

////// 假設條件表示式boolexpression的結果值為真(true)。則丟擲strmessage指定的錯誤資訊

////// 條件表示式

/// 錯誤資訊

/// 錯誤資訊的引數

/// 異常的型別

////// 假設條件表示式boolexpression的結果值為真(true),則丟擲message指定的錯誤資訊

[debuggernonusercode]

publicstatic void truethrow(this bool parseexpressionresult, string message,params object messageparams) where t : system.exception}}}

對於調使用方法方

,經常使用在方法的

引數檢測上

pubilc void test(string id)
圖例例項化的

id能夠直接呼叫該方法,進行推斷,為空,則丟擲我們寫好的提示。如圖

以上是對

string

型別的擴充套件。當然了其它的型別也是能夠擴充套件的,創造符合自己的須要的方法。由擴充套件方法聯想我們的靜態方法。靜態方式並不針對某一型別。可是擴充套件方法卻是這對某一型別的擴充套件,沒有繼承。

這是他們的不同點。

string擴充套件方法使用

建立乙個 static 的類,並且裡面的方法也必須是static的,第乙個引數是被擴充套件的物件,必須標註為this,使用時,必須保證namespace using進來了.下面為例項 using system using system.collections.generic using system...

擴充套件方法的使用

前言 打算分三個層面來介紹這個知識點,分別是 net內建物件的擴充套件方法 一般物件的擴充套件方法 泛型物件的擴充套件方法。什麼是擴充套件方法?回答這個問題之前,先看看我們一般情況下方法的呼叫。類似這樣的通用方法你一定寫過 static void main string args 將字串轉換為日期 ...

使用擴充套件方法來擴充套件介面

不清楚擴充套件方法的清先預熱下 推薦 摘抄 1 擴充套件方法跟原來類的方法重名時候的處理邏輯 2 擴充套件方法的巢狀 現在我們來看擴充套件方法使用的第三個場景 使用擴充套件方法來擴充套件介面 應用場景舉例 我們有時候會發現最初定義的乙個介面,在現在環境下,這個介面需要再增加乙個函式。有了擴充套件方法...