У меня есть делегат:
delegate ResultType Caller<ResultType>(IPtxLogic logic);
Вот функция:
private ResultType ExecuteLogicMethod2<ResultType>(string sessionId,
Caller<ResultType> action)
where ResultType : IResult, new()
{...}
Я хочу заменить сигнатуру функции на что-то вроде этого:
private ResultType ExecuteLogicMethod2<ResultType>(string sessionId,
Action<IPtxLogic, ResultType> action)
where ResultType : IResult, new()
{...}
Компилятор говорит мне:
Использование универсального типа 'System.Action' требует аргументов типа '1'
Почему? Как я могу получить доступ к «стандартному» классу .NET?
Спасибо. Любые мысли приветствуются.
P.S. Я создал свой собственный делегат для решения проблемы, но ... я не хочу создавать пользовательский делегат для каждого из моих "пользовательских действий" ...
delegate ResultType Action<ParameterType, ResultType>(ParameterType param);
P.P.S. Я использую .NET 3.5