你知道以下问题的答案吗?
让我们说,MyMethod()在MyPartialClass.cs中的MyPartialClass中被声明为部分方法.我还在MyPartialClass2.cs中的MyPartialClass中提供了MyMethod()的主体.我使用一个问题而没有回答"魔术"代码生成器实际生成了MyPartialClass.cs,让我们说基于一些数据库架构.一些无辜的家伙改变架构为好,然后运行"魔术".重新生成MyPartialClass.cs,但使用MyMethod2()而不是MyMethod()声明.想起我.我想我已经实现了"魔术"使用的MyMethod(),但实际上,"Magic"正在使用MyMethod2().C#编译器没有告诉我没有任何声明我实现了部分方法,我的实现根本就没用过!
有解决方案吗
我认为这是一个没有答案的问题.
编辑我得到了答案:-).我的代码中有一个拼写错误,这就是编译器没有标记错误的原因.乔恩已经指出了这一点.
你应该得到错误CS0759.测试用例:
partial class MyClass
{
partial void MyMethod()
{
Console.WriteLine("Ow");
}
}
partial class MyClass
{
partial void MyMethod2();
}
Run Code Online (Sandbox Code Playgroud)
编制结果:
Test.cs(6,18): error CS0759: No defining declaration found for implementing
declaration of partial method 'MyClass.MyMethod()'
Run Code Online (Sandbox Code Playgroud)
那不是你想要的吗?
| 归档时间: |
|
| 查看次数: |
2949 次 |
| 最近记录: |