我將面對的性能問題時I'm使用擴展方法以任何方式是否過重?
只是一個例子:
比方說在字符串類型,並且有50個字符串屬性業務對象從來就100擴展方法。 現在我創建一個這個業務對象的集合,也許500個項目?
對字符串執行這些擴展方法是否對RAM,CPU等有影響?
我真的很喜歡擴展方法,但我想知道是否有使用限制。
我將面對的性能問題時I'm使用擴展方法以任何方式是否過重?
只是一個例子:
比方說在字符串類型,並且有50個字符串屬性業務對象從來就100擴展方法。 現在我創建一個這個業務對象的集合,也許500個項目?
對字符串執行這些擴展方法是否對RAM,CPU等有影響?
我真的很喜歡擴展方法,但我想知道是否有使用限制。
不,你不會。
擴展方法只是具有一些語法糖的普通靜態方法。儘可能多地使用它們:)
您可能會減慢IDE中的智能感知速度 - 並且可能使智能感知列表有點笨拙,但它不會對任何其他代碼本身的執行產生任何影響靜態方法。
擴展方法是一個靜態類的一部分,它是一個語法糖,因爲它模擬某種靜態方法是其他類的實例方法。
總之,這裏沒有性能損失。這是相同的ExtensionMethods.YourExtensionMethod(objectToAddMethod)
和objectToAddMethod.YourExtensionMethod()
。
我覺得這是一個重複:
參見:Is there a performance hit for creating Extension methods that operate off the object type?
答案有解釋了這個非常好!
我正在寫擴展庫,所以很高興知道 – DerpyNerd 2016-08-13 11:51:14