У меня есть конструктор для класса, который выглядит следующим образом:Как передать Func <в T1, в T2, в T3, вне TResult> к конструктору?
public class Class
{
private Func<string, IThirdField, IFourthField, IResultField> resultField;
public Class(
IFirstField firstField,
ISecondField secondField,
Func<string, IThirdField, IFourthField, IResultField> resultField,
ISomeOtherField someOtherField)
}
Я пытаюсь инициализировать этот класс так:
var classObject = new Class (firstField, secondField,
Func<string, IThirdField, IFourthField, IResultField>
resultField, someOtherField);
Я получаю следующие ошибки:
Использование родового типа «Func» требует 1 аргумент типа.
Неверный термин выражения "строка".
«IThirdField» - это тип, который недопустим в данном контексте.
Что я делаю неправильно?
У вас уже есть метод с необходимой подписью? Что-то вроде: 'IResultField doStuff (строковое значение, IThirdField thirdField, IFourthField 4thField) {/ * ... * /}'? Или вы хотите передать анонимный метод «на лету»? – Corak
@ M.Tach - ответили ниже, чтобы помочь решить проблему? –
Нет, я закончил жестко кодировать вспомогательный метод, чтобы вернуть объект типа IResultField. –