Passer l'action des délégués comme paramètre en C#

J'ai une méthode qui accepte un Action délégué et exécute la méthode donnée, comme indiqué ici:

public void ExpMethod(Action inputDel)
{
    inpuDel();
}

Je peux appeler ci-dessus compte tenu de la méthode comme ceci:

ExpMethod(() => {/*do something that matters*/});

Tout fonctionne bien. So far So good. Maintenant, je veux avoir une méthode qui prend un générique Action délégué comme un paramètre d'entrée comme ceci:

public void ExpGenMethod(Action<string,int> inputDel)
{
    //I don't know how to call the supplied delegate as it requires parameters
}

Aussi, je suis en train d'appeler cette ExpGenMethod de cette façon:

ExpGenMethod(("Hi",1) => {/*do something that makes sense*/});

Mais il montre les erreurs de syntaxe. S'il vous plaît laissez-moi savoir comment utiliser l'action générique délégué dans ce cas?

  • Si l'appelant est la fourniture de "entrée", l'entrée devrait être absorbée dans le corps de la lambda, pas en tant que paramètres - si votre méthode doit encore travailler et "Hi" et 1 ne serait pas sur la gauche de la =>.
  • Quelle est l'erreur que vous obtenez? S'il vous plaît montrer le message exact.
InformationsquelleAutor gliese 581 g | 2017-01-26