Essayer d'optimiser un certain code, je fini par avoir ce genre de structure:Traduire imbriqués fonctions anonymes foreach boucle
StaticMethod(propA,() =>
{
StaticMethod(propB,() =>
{
StaticMethod(propC,() =>
{
// Write line in console here to say it's done.
});
});
});
Et je pensais qu'il devrait peut-être un moyen de simplifier que dans une certaine foreach
ou même un boucle simple for
, quelque chose comme ceci:
foreach (var prop in props) // consider that `props` can be iterated over
{
// Here I don't know how to chain everything...
}
Est-ce tout faisable? Ai-je besoin de modifier StaticMethod
pour y parvenir? La boucle n'est peut-être pas suffisante, mais en étendant l'exemple à 1000 fonctions imbriquées, j'aurais besoin d'une itération.
est ici le concept de StaticMethod
:
static void StaticMethod(Prop prop, Action done)
{
// Some code here
someDispatcher.BeginInvoke(() => {
// More code here
done();
});
}
Votre exemple semble un peu trop généralisé; nous ne pouvons même pas dire si vos méthodes statiques agissent sur 'IEnumerable' (qui est requis pour' foreach') – BradleyDotNET
Vos exigences ne sont pas claires. Vous voulez seulement traiter le prochain accessoire si l'actuel est OK? Quel est le point d'utiliser les lambdas? Ils ne font rien dans ce cas sauf à rendre le code plus confus. – SledgeHammer
@BradleyDotNET Trop large: Trop de réponses possibles, bien s'il vous plaît pointer 1 ou 2 afin que je puisse voir à quel point c'est vraiment. De bonnes réponses trop longtemps, Servy a répondu dans un format approprié et a même ajouté plus de détails que j'ai demandé. C'est assez bouleversant depuis 1. J'ai édité l'OP et 2. Aucune édition n'est suggérée directement ou dans les commentaires. Aussi, il est explicite que ma question peut être posée avec oui/non ... – Mat