擴充套件方法在實現上和普通的物件導向程式設計是一樣的,換句話說,我們只需要定義乙個類,然後在裡面新增並實現相應的方法即可。但是這裡需要注意的地方有三點,第一,實現擴充套件方法的類必須是靜態類且類的名稱和實現擴充套件方法的類無關;第
二、實現擴充套件方法的類方法必須是靜態方法;第
三、實現擴充套件方法的類方法的第乙個引數必須是使用this關鍵字指明要實現擴充套件方法的類。例如,我們知道將乙個合法字串型別轉換為整型,可以使用int.parse()方法,假如我們希望為string型別擴充套件乙個toint方法應該怎麼辦呢?我們一起來看下面的這段**:
using unityengine;
using system.collections;
////// 擴充套件類使用方法:
/// 0、需要注意的是c#支援擴充套件方法是從.net3.5版本開始
/// 1、類和方法都必須是靜態的
/// 2、在方法中的引數前面必須加關鍵字 this
/// 3、呼叫時直接使用 string str = "123"; int d = str.toint ();
///public
static
class testt
////// 擴充套件強制轉換transform.position 的世界座標
//////
temp position.
///value x.
public
static
void
setpositionx(this transform tempposition,float valuex)
////// 擴充套件強制轉換transform.position 的區域性座標
//////
m transform.
///value x.
public
static
void
setlocalpositionx(this transform mtransform,float valuex)
}
小結
在c#中實現擴充套件方法的類必須是靜態類且類的名稱和實現擴充套件方法的類無關
實現擴充套件方法的類方法必須是靜態方法
實現擴充套件方法的類方法的第乙個引數必須是使用this關鍵字指明要實現擴充套件方法的類
實現擴充套件方法應遵守就近原則,在最小的範圍內使用擴充套件方法以避免造成「汙染」
擴充套件類和擴充套件方法的使用場景
作為c 程式設計師,我們一直要跟自帶類庫 bcl base class library 或者第三方類庫打dao交道,有時候我們無法檢視他們的 但是我們需要一些新的功能,helper類就應運而生了,我們開發出乙個個的靜態方法以方便呼叫,c 3.0之後微軟為我們提供了擴充套件類,以實現對原有類的擴充套件...
unity 類的方法
1 類的宣告 物件 一切實體 類宣告包括關鍵字 class 類名及類的屬性。類名必須是合法的識別符號,類的屬性為一些可選的關鍵字。其宣告格式如下 訪問控制符 class classname 衣服 標識 名字 身體 2 類 的命名規範 a 類名應該有意義 b 類名應該是名詞 c 類名的首字母應該大寫d...
Unity 對型別的擴充套件方法
上圖是乙個定義的列舉型別direction,表示列舉東南西北四個方向。下圖是通過擴充套件產生了新的方法opposite。ps 這裡opposite方法的作用是獲取反方向 並且這種拓展也適用於列舉的物件,如下圖。direction2通過oppsite函式獲取到了direction1的反方向。上圖定義了...