我正在尝试掌握 .NET 4.0+ 任务并行库的概念...
在以下 C# 4.0 代码片段中:
Task t = Task.Factory.StartNew(() =>
{
Console.WriteLine("I am the task");
return "res1";
});
如果返回不能使用,为什么编译器(和运行时)不会产生任何错误,除非使用通用任务代替:
Task<string> t = Task.Factory.StartNew(() =>
{
Console.WriteLine("I am the task");
return "res1";
});
还是可以使用它(返回的对象)?
我是否正确理解<string>
inTask<string>
仅用于检测或确保返回(ed 对象)或的类型t.Result
?
或者除了这个之外,还有什么对我隐藏的必需品?
为什么无法从返回对象的类型中确定该类型?
即为什么非通用任务的任务的结果属性不可用?