部分方法C#3.0的问题

isn*_*ntn 2 .net c# c#-3.0

你知道以下问题的答案吗?

让我们说,MyMethod()在MyPartialClass.cs中的MyPartialClass中被声明为部分方法.我还在MyPartialClass2.cs中的MyPartialClass中提供了MyMethod()的主体.我使用一个问题而没有回答"魔术"代码生成器实际生成了MyPartialClass.cs,让我们说基于一些数据库架构.一些无辜的家伙改变架构为好,然后运行"魔术".重新生成MyPartialClass.cs,但使用MyMethod2()而不是MyMethod()声明.想起我.我想我已经实现了"魔术"使用的MyMethod(),但实际上,"Magic"正在使用MyMethod2().C#编译器没有告诉我没有任何声明我实现了部分方法,我的实现根本就没用过!

有解决方案吗

我认为这是一个没有答案的问题.

编辑我得到了答案:-).我的代码中有一个拼写错误,这就是编译器没有标记错误的原因.乔恩已经指出了这一点.

Jon*_*eet 6

你应该得到错误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)

那不是你想要的吗?