J'ai un constructeur pour une classe qui ressemble à ceci:Comment passer un Func <dans T1, dans T2, dans T3, sur TResult> vers un constructeur?
public class Class
{
private Func<string, IThirdField, IFourthField, IResultField> resultField;
public Class(
IFirstField firstField,
ISecondField secondField,
Func<string, IThirdField, IFourthField, IResultField> resultField,
ISomeOtherField someOtherField)
}
Je suis en train d'initialiser cette classe comme ceci:
var classObject = new Class (firstField, secondField,
Func<string, IThirdField, IFourthField, IResultField>
resultField, someOtherField);
Je reçois les erreurs suivantes:
L'utilisation du type générique 'Func' nécessite 1 type d'arguments.
Terme d'expression invalide "chaîne". "IThirdField" est un type qui n'est pas valide dans le contexte donné.
Qu'est-ce que je fais mal?
Avez-vous déjà une méthode avec la signature nécessaire? Quelque chose comme: 'IResultField doStuff (valeur de chaîne, IThirdField thirdField, IFourthField fourthField) {/ * ... * /}'? Ou voulez-vous passer dans une méthode anonyme "à la volée"? – Corak
@ M.Tach - Est-ce que l'une des réponses ci-dessous vous a aidé à résoudre le problème? –
Non, j'ai fini par coder en dur une méthode d'assistance pour retourner un objet de type IResultField. –