[Test]
public void TaskContinuationIsNotOfTheSameGenericType()
{
var t = Task.Run(() => new Box{Name = "bar"});
var async = t as Task;
var nt = async.ContinueWith(n =>
{
dynamic tmp = n;
return tmp.Result;
});
nt.Wait();
Console.WriteLine(nt.Result);
Console.WriteLine(nt.GetType().GetGenericArguments()[0].FullName);
Console.WriteLine(t.GetType().GetGenericArguments()[0].FullName);
}
public class Box
{
public string Name { get; set; }
public override string ToString()
{
return Name;
}
}
输出:
bar
System.Object
TestingStuff.Tasks.Continuations+Box
是否可以创建与基本类型相同类型的任务延续?例如:如果基类型是" int的任务" ,是否有可能通常创建基类型的延续,这也是" int的任务"?
注意:
上面的代码只是一个例子,我不知道基本任务的特定泛型类型。