有人能解释一下这两种实现之间的区别吗?并解释一下哪一种比其他更好
来自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
换句话说,所有这些修饰符都可以按任何顺序出现。该节的其余部分指定了哪些修饰符组合是有效的(修饰符可以不重复,最多可以提供static
、virtual
或override
中的一个,等等),但它对它们的顺序没有任何意义。因此,没有什么区别,使用你喜欢的任何东西(或者更合适的是,使用你的代码库的其他部分已经确定的任何约定,如果有的话)。
请注意,partial
是,而不是被视为method-modifier
(但本节稍后将其称为"修饰符")。这意味着它必须出现在任何合法修饰符之后:static partial void Foo()
是合法的,partial static void Foo()
不是。