擴充套件方法略好於幫助方法

2021-06-27 04:31:26 字數 1602 閱讀 6369

如果針對乙個型別例項的**片段經常被用到,我們可能會想到把之封裝成幫助方法。如下是一段針對

datetime

型別例項的一段**:

class program
console.readkey();
}
static

void doweekendthing()

static

void doweekdaything()

}

以上,把判斷是否是週末的**片段封裝到幫助類、幫助方法中如下:

public

static

class datetimehelper

}
}

在客戶端:

class program
else
console.readkey();
}
static

void doweekendthing()

static

void doweekdaything()

}

用幫助類、幫助方法固然好,因為進行了很好的封裝,但每次都必須要記住擴充套件方法在

datetimehelper

這個擴充套件類中。如果

system.datetime

包括isweekend

方法會更好!

擴充套件方法是一種特殊的靜態方法,可以讓編寫的方法像現有型別的例項方法一樣被使用。

public

static

class datetimeextensions

}
}

○ 擴充套件方法必須在靜態類中

○ 擴充套件方法必須是靜態方法

○ 擴充套件方法的第乙個引數必須是需要被擴充套件的型別,而且前面必須加

this

關鍵字  

客戶端修改為:

class program
else
console.readkey();
}
static

void doweekendthing()

static

void doweekdaything()

}

總結:擴充套件方法貌似略好於幫助方法,可以作為型別例項的方法直接被呼叫。

擴充套件方法略好於幫助方法

如果針對乙個型別例項的 片段經常被用到,我們可能會想到把之封裝成幫助方法。如下是一段針對 datetime 型別例項的一段 class programconsole.readkey static void doweekendthing static void doweekdaything 以上,把判...

C 擴充套件方法

c 語言從3.0開始增加了乙個很特別的功能 擴充套件方法。那麼擴充套件方法起什麼作用呢?很多時候我們想為已經存在的類擴充套件某些功能,而又沒有必要去繼承該類,甚至有時候這個類根本就不允許繼承,如string類,這時候就可以使用擴充套件方法來為其擴充套件功能。下面舉例說明 一 我們建立乙個類庫如下 c...

C 擴充套件方法

c 語言從3.0開始增加了乙個很特別的功能 擴充套件方法。那麼擴充套件方法起什麼作用呢?很多時候我們想為已經存在的類擴充套件某些功能,而又沒有必要去繼承該類,甚至有時候這個類根本就不允許繼承,如string類,這時候就可以使用擴充套件方法來為其擴充套件功能。下面舉例說明 一 我們建立乙個類庫如下 c...