2012-02-09 61 views
7

可能重複:
Extension Method Performance擴展方法:使用太多時性能問題?

我將面對的性能問題時I'm使用擴展方法以任何方式是否過重?

只是一個例子:

比方說在字符串類型,並且有50個字符串屬性業務對象從來就100擴展方法。 現在我創建一個這個業務對象的集合,也許500個項目?

對字符串執行這些擴展方法是否對RAM,CPU等有影響?

我真的很喜歡擴展方法,但我想知道是否有使用限制。

回答

13

不,你不會。

擴展方法只是具有一些語法糖的普通靜態方法。儘可能多地使用它們:)

+0

我正在寫擴展庫,所以很高興知道 – DerpyNerd 2016-08-13 11:51:14

5

您可能會減慢IDE中的智能感知速度 - 並且可能使智能感知列表有點笨拙,但它不會對任何其他代碼本身的執行產生任何影響靜態方法。

3

擴展方法是一個靜態類的一部分,它是一個語法糖,因爲它模擬某種靜態方法是其他類的實例方法。

總之,這裏沒有性能損失。這是相同的ExtensionMethods.YourExtensionMethod(objectToAddMethod)objectToAddMethod.YourExtensionMethod()

1

我覺得這是一個重複:

參見:Is there a performance hit for creating Extension methods that operate off the object type?

答案有解釋了這個非常好!

+3

如果您認爲這是重複的,您需要註釋掉OP問題而不是添加無用的答案;) – 2012-02-09 10:35:59

+0

我該怎麼做?我剛剛積極地開始使用StackOverflow,所以任何提示都會很好。 – Digvijay 2012-02-09 10:42:29

+0

@Digvijay點擊關閉問題。你需要** [3000聲望](http://stackoverflow.com/privileges/close-questions)**雖然 – sehe 2012-02-09 10:47:36