Ich weiß nicht, ob der Titel Sinn macht, aber in der App, die ich schreibe gibt es viele (Erweiterung) Methoden. Ein einfaches Beispiel:Automatische Implementierung Schleife
Objekte:
Matter (Burn, Explode, Destroy, Freeze, Heat, Cool)
Atom (Attach, Detach)
<many more>
und eine eigene Sammlung wie:
ImmutableList<T>
und Methoden wie diese:
public static class Burner
{
public static Matter Burn (this Matter matter)
{
// matter is burning ...
}
}
var matters = new ImmutableList<Matter>();
matters.Burn();
Wie Sie sehen können, Brennen Arbeiten eine einzelne Entität, aber immer noch auf ImmutableList. Auf diese Weise möchte ich Paralellisierung (parallel brennen) selbst verwalten.
Wie mache ich das am leistungsfähigsten, am saubersten oder am wartungsfreundlichsten oder kombiniert?
Erstens würde ich lieber nicht eine andere Erweiterungsmethode definieren, die ImmutableList innerhalb jeder Klasse (Brenner, etc) nimmt, weil es Hunderte von Hunderten wie diesen gibt und sie werden wahrscheinlich gleich aussehen. Aber ich bin offen für Ideen.
Auch der gesamte Code gehört mir, also kann ich irgendetwas in jedem Teil des Codes ändern/hinzufügen, nicht nur die Erweiterungsmethoden.
Danke, aber ForEach ist nicht parallel, und ich möchte meine eigene Parallelisierung auf die spezifischen Bedürfnisse der App verwalten. Auch würde ich lieber die Syntax in meinem Beitrag nach Möglichkeit verwenden. –
Vielleicht verstehe ich Ihr Problem nicht richtig, aber was hindert Sie daran, Ihre eigene "ForEach" -Methode zu implementieren? – dtb
könnte ich, aber ich hätte gerne eine Syntax wie: matters.Burn(); Sonst wird es viele ForEach-Aufrufe im Code geben, nicht, dass es eine schlechte Sache ist, aber es ist so offensichtlich, dass ich einen "direkten" Aufruf, also Erweiterungsmethoden, möchte. –