0
I've modeled what you've described and come up with this which works fine (.NET 4.0) :
using System;
using System.Threading.Tasks;
class Test
{
static void Main()
{
int result = FuncA(11);
Console.WriteLine(result); // 17
Console.ReadKey();
}
static int FuncA(int i)
{
i++;
Task<int> task = Task.Factory.StartNew<int>(() => FuncB(i));
int j = task.Result;
return j + 3;
}
static int FuncB(int i)
{
return i + 2;
}
}
So, what else are you wanting to do?
Are you just wanting to do it in a different way so it will run on .NET 3.5 say?