Func<int, string>
- это просто общий делегат.Это просто поможет вам избежать написания общих делегатов.Вот и все.Если это не подходит для вас, напишите свой собственный delagate.для замены того, который вы запрашиваете, указывается
delegate string Method(int parm);
, если вы хотите, чтобы функция (для istance) принимала 22 :-) целое число и возвращала строку, которую вы должны написать, свой собственный делегат
delegate string CrazyMethod(int parm1,int parm2,.....)
В вашем случае
delegate int MyOwnDeletage(string d);
class Program
{
static int Work(string s) { return s.Length; }
static void Main(string[] args)
{
// Func<string, int> method = Work;
MyOwnDeletage method =Work;
IAsyncResult cookie = method.BeginInvoke ("test", null, null);
//
// ... here's where we can do other work in parallel...
//
int result = method.EndInvoke (cookie);
Console.WriteLine ("String length is: " + result);
}
}