У меня проблемы с C # и универсальным типом вывод. Я хочу написать метод, которому передается метод любого типа, но компилятор не может определить типы метода, который я передаю. Компилятор всегда жалуется с сообщением
Ожидается метод с ' ??? TestFunc (???, ???) 'подпись
Вот тестовый пример.
using System;
public class Example
{
private interface ITest
{
int TestFunc(string str, int i);
}
private class Test : ITest
{
public int TestFunc(string str, int i) { return 0; }
}
public static void Main()
{
ITest t = new Test();
DoWork(t.TestFunc);
}
public static void DoWork<T1, T2, TResult>(Func<T1, T2, TResult> func)
{
}
}
Кто-нибудь может объяснить мне, в чем проблема?