我对任务一无所知。因此,请向我解释这是带签名的任务与无签名的任务之间的主要区别。 例子
dateOfBirth: Date,
age: Number
如果我在功能结束时不包括异步功能,会有什么区别吗?
答案 0 :(得分:1)
是的,当您关心代码设计时就很重要,例如:
public interface IMyService
{
Task<int> GetWeightAsync();
int GetWeight();
}
在这种情况下,此接口的用户同时支持:异步版本和非异步版本,因此他们可以决定要选择的路径。
C#被设计为多态的,但是在异步的情况下,这只是伪造它的方法。编译器仍然会抱怨签名是否相同,除了返回值,所以人们决定在最后添加后缀“ Async”。
答案 1 :(得分:1)
无论是否添加“异步”后缀,关于功能的行为都没关系。
确实与客户对您的API的看法有关。
此命名约定被广泛采用,因此您使用它会对自己和其他人有所帮助。
顺便说一句: 如果该API已包含名为“ xxxAsync”的旧版异步功能(非TAP),则建议改用“ xxxTaskAsync”。