我不知道标题是否有意义,但在我写的应用程序中有很多(扩展)方法。一个简单的例子:自动执行循环
对象:
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