为什么部分方法只能有void返回类型?

pen*_*ake 8 .net c# clr partial-methods

部分方法只能具有void返回类型这一事实背后的原因/逻辑/障碍是什么?

谢谢

Joe*_*oey 12

如果您没有为它们提供实现,则部分方法被设计为省略.编译器实际上删除了对未实现的部分方法的调用.

这也突出了为什么他们不能返回任何东西:如果你依赖一个返回值而不实现部分方法,那么呢?尽管代码清楚地显示了一项任务,但你还是有一些未初始化的东西.

同样,使用Conditional属性的方法只能返回void相同的原因.方法调用可能存在于编译的IL中,也可能不存在.