异步静态任务<T> someMethod() 与静态异步任务<T> someOtherMethod() 有什么区别



有人能解释一下这两种实现之间的区别吗?并解释一下哪一种比其他更好

来自C#语言规范第10.6节"方法":

方法是实现计算或操作的成员由对象或类执行。方法是使用声明的方法声明:

方法声明
 nbsp nbsp方法头方法体TR

方法头
 nbsp nbsp属性opt方法修饰符optpartial选择返回类型成员名称类型参数列表选项
 nbsp nbsp;(形式参数列表opt类型参数约束子句opt

方法修饰符:
 nbsp nbsp方法修饰符
 nbsp nbsp方法修饰符方法调节剂

方法修饰符:
 nbsp nbsp;new
 nbsp nbsp;public
 nbsp nbsp;protected
 nbsp nbsp;internal
 nbsp nbsp;private
 nbsp nbsp;static
 nbsp nbsp;virtual
 nbsp nbsp;sealed
 nbsp nbsp;override
 nbsp nbsp;abstract
 nbsp nbsp;extern
 nbsp nbsp;async

换句话说,所有这些修饰符都可以按任何顺序出现。该节的其余部分指定了哪些修饰符组合是有效的(修饰符可以不重复,最多可以提供staticvirtualoverride中的一个,等等),但它对它们的顺序没有任何意义。因此,没有什么区别,使用你喜欢的任何东西(或者更合适的是,使用你的代码库的其他部分已经确定的任何约定,如果有的话)。

请注意,partial,而不是被视为method-modifier(但本节稍后将其称为"修饰符")。这意味着它必须出现在任何合法修饰符之后:static partial void Foo()是合法的,partial static void Foo()不是。

最新更新