![]() |
1
8
很有趣。我 认为 您在C编译器中发现了一个实际的bug—尽管我可能遗漏了一些微妙的东西。我已经写了一个稍微简化的版本,它避免了过载的可能性,并且省去了额外的方法:
作为一个程序集编译的演示,没有错误:
编译为两个有错误的程序集的演示:
我想不起来
任何
为什么这在不同的程序集之间应该是不同的,因为一切都是公共的。规范很少讨论组件边界,除了
有趣的是,对于C#3和4编译器,我都得到了相同的错误。
编辑:请注意,可以使用显式参数列表来解决此问题。例如,在我的示例代码中,这将起作用:
|
![]() |
2
1
我通过重命名 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(不要删除它!) |