Tôi đã có mã thực sự đơn giản:Task.Factory.StartNew() quá tải
static void Main(string[] args)
{
var task = Task.Factory.StartNew(GetInt);
var task2 = Task.Factory.StartNew(
() =>
{
return GetInt();
});
}
static int GetInt()
{
return 64;
}
Tại sao tôi lại nhận được một lỗi biên dịch cho nhiệm vụ đầu tiên? Chữ ký của phương thức (không có tham số, kiểu trả về là int
) là bằng nhau, phải không?
Tôi biết một giải pháp (khá đơn giản: var task = Task.Factory.StartNew<int>(GetInt);
) nhưng tôi muốn biết vấn đề với mã ở trên là gì.
Lỗi trình biên dịch là gì? –
Hãy thử bản thân mình, tôi chỉ có văn bản lỗi trình biên dịch tiếng Đức: 'Der Aufruf unterscheidet nicht eindeutig zwischen folgenden Methoden und Eigenschaften:" System.Threading.Tasks.TaskFactory.StartNew (System.Func ) "und" System.Threading. Tasks.TaskFactory.StartNew (Hệ thống.Hành động) "' nhưng nó không có ý nghĩa khiến 'GetInt' sẽ trả về' int' không 'void' –
GameScripting