.NET4.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
ますか?
それとも、これ以外に私から隠された必需品はありますか?
返されたオブジェクトのタイプからこのタイプを判別できないのはなぜですか?
つまり、タスクのResultプロパティが一般的でないタスクで使用できないのはなぜですか?