J'ai un délégué:Func <> et Action <> ne peut pas être trouvé
delegate ResultType Caller<ResultType>(IPtxLogic logic);
Voici une fonction:
private ResultType ExecuteLogicMethod2<ResultType>(string sessionId,
Caller<ResultType> action)
where ResultType : IResult, new()
{...}
Je veux remplacer la signature de la fonction avec quelque chose comme ça :
private ResultType ExecuteLogicMethod2<ResultType>(string sessionId,
Action<IPtxLogic, ResultType> action)
where ResultType : IResult, new()
{...}
compilateur me dit:
L'utilisation du type générique de 'System.Action' exige '1' arguments de type
Pourquoi? Comment puis-je avoir accès à la classe .NET standard?
Merci. Toute pensée est la bienvenue.
P.S. J'ai créé mon délégué personnalisé pour résoudre le problème, mais ... Je ne veux pas créer délégué personnalisé pour chacun de mes « action personnalisée » ...
delegate ResultType Action<ParameterType, ResultType>(ParameterType param);
P.P.S. J'utilise .NET 3,5
'' Action' et Func 'sont dans l'espace de noms' System'. Cependant, le message d'erreur de l'OP indique qu'ils ont 'using System;' mais il manque une référence à _System.Core.dll_. –
@Tim Robinson: Non, ce n'était pas ça :) – leppie