Nếu tôi có một giao diện như:Async programmic và ảo chức năng
using System.Threading.Tasks;
...
public interface IFoo
{
Task doIt();
Task<bool> doItAndReturnStuff();
}
và một trong các lớp thực hiện giao diện này chỉ xảy ra với không đòi hỏi phương pháp async, làm thế nào tôi có thể sửa ghi đè lên các chức năng này?
Nói cách khác, làm cách nào để trả lại chính xác "void" và "bool" được bao trong đối tượng Task?
Ví dụ:
public class FooHappensToNotNeedAsync : IFoo
{
public override Task doIt()
{
// If I don't return anything here, I get
// error that not all code paths return a value.
// Can I just return null?
}
public override Task<bool> doItAndReturnStuff()
{
// If I want to return true, how to I do it?
// This doesn't work:
return true;
}
}
LƯU Ý - Tôi không thể tước những thứ công tác hoàn toàn vì một số các lớp học mà thực hiện giao diện này là trên thực tế asynch.
Cảm ơn
'trở Task.Run (() => true); ' –
@ LB: Điều đó tạo ra thêm công việc không có lý do thực sự và ít có thể dự đoán được hơn là trả lại một tác vụ đã hoàn thành. –