C# Action<T>, de Passer de la fonction en tant que paramètre

Je veux passer une condition que l'Action pour une autre méthode. Première ligne dans "ComputerPriceGenerator" œuvres", mais comment faire pour que le tableau de travail (deuxième ligne)?.. Toutes les idées

Je suis à la recherche de conseils..., CalculateAllPrice n'est pas conçu encore

public void ComputerPriceGenerator()
{
    //Below line Works
    PriceMachine.CalculatePrice(cart.Computers[0],() => ComputerConverter(cart.Computers[0]));           
    //How to make this work, i don't want to loop it???
    PriceMachine.CalculateAllPrice(cart.Computers,() => ComputerConverter(??));
}

public void ComputerConverter(Computer comp)
{
    if (comp.Memory <= 2)
        comp.Discount = 10;
}
Votre code aurait été un candidat idéal pour l'utilisation de LINQ, cependant, il est plein d'effets secondaires. J'avais envisager de refactoring.
Sans montrer les signatures de CalculatePrice et CalculateAllPrice il est difficile de savoir comment vous aider.
Skeet: Il me semblait qu'il était partie à la recherche pour obtenir des conseils sur ce que la signature de CalculateAllPrice devrait être. Je peux me tromper, cependant.
Morgan... je suis à la recherche de conseils..., CalculateAllPrice n'est pas encore conçu, mais pour CalculatePrice il prend type d'Action CalculatePrice(Ordinateur comp, Action myAction)

OriginalL'auteur kayak | 2011-01-31