为什么部分方法必须无效?

Gas*_*ine 14 c#

我目前正在学习C#,这本书名为Beginning Visual C#2010,我在讨论部分方法和类的不同方面和特征的章节中.

引用这本书:

在这一点上考虑为什么部分方法不能具有返回类型.如果您能够自己满意地回答这个问题,那么您可以确信您完全理解了这个主题 - 所以这是留给您的练习."

这是我被卡住的地方.我能想到的唯一原因是,当方法的返回值被分配给代码中的某些内容时,如果没有为partial方法实现定义,则会产生错误.

有人可以帮我清楚这个话题吗?

Gro*_*ozz 18

因为在没有破坏调用代码的情况下不能从调用代码中删除对它们的调用.

例:

partial void foo();
partial int bar();
Run Code Online (Sandbox Code Playgroud)

来电代码:

...
foo(); // successfully removed if foo isn't implemented
int x = bar() * 2; // what to do here?
Console.WriteLine(x);
Run Code Online (Sandbox Code Playgroud)

  • 使用`ConditionalAttribute`修饰的方法也是如此. (2认同)