partial method只能在partial class中实现,外部类是无法访问的。
部分方法可以是静态的,但必须是私有的,且不能有返回值。
他们使用的任何参数都不能是out参数,但可以是ref参数。部分方法也不能使用virtual、abstract、override、new、sealed、extern修饰符。
partial method为什么不能有返回类型。部分类方法的声明和实现是分开的,用户根据具体情形选择是否实现它。如果没有提供方法体,方法声明在内存中只起到一个占位符的作用,编译器是不会去编译只声明未实现的方法的,编译器就会在使用该部分方法的所有地方删除该方法。如果partial method有返回类型,就可以将其作为表达式的一部分:
如: a=DoSomething(x,y);
若没有提供方法体,该行代码就会被忽略,但编译器无法确定我们是否要忽略它。
部分方法禁止使用out参数,用作out参数的变量必须是未定义的,而应在调用方法之后定义。若未提供方法体,删除方法体就会违反这个规则。