我不知道標題是否有意義,但在我寫的應用程序中有很多(擴展)方法。一個簡單的例子:自動執行循環
對象:
Matter (Burn, Explode, Destroy, Freeze, Heat, Cool)
Atom (Attach, Detach)
<many more>
和一個自定義集合,如:
ImmutableList<T>
和方法,像這樣:
public static class Burner
{
public static Matter Burn (this Matter matter)
{
// matter is burning ...
}
}
var matters = new ImmutableList<Matter>();
matters.Burn();
正如你可以看到,刻錄作品上一個單一的實體,但仍然出現在ImmutableList上。這樣我就可以自己管理並行處理(並行)。
我該如何做到最高效,最乾淨,最可維護的方式,還是結合在一起?
首先,我寧願不定義另一個需要每個類(燃燒器等)內的ImmutableList的擴展方法,因爲有成百上千的像這些,他們可能會看起來相同。但我對創意持開放態度。
此外,所有代碼都是我的,所以我可以在代碼的任何部分更改/添加任何內容,而不僅僅是擴展方法。
感謝但ForEach並不平行,我想管理自己的並行化以滿足應用程序的特定需求。如果可能的話,我寧願在我的文章中的語法。 – 2009-08-19 18:38:39
也許我沒有正確理解你的問題,但是什麼阻止你實現自己的'ForEach'方法? – dtb 2009-08-19 18:40:29
我可以,但我想有一個像這樣的語法:matters.Burn();否則代碼中會出現很多ForEach調用,並不是說這是一件壞事,但它很明顯,我想要一個「直接」調用,因此也就是擴展方法。 – 2009-08-19 18:42:01