pet*_*bil 4 c# vb.net compiler-construction
在VB.NET中,完全可以将一个整数作为字符串参数传递给方法而不调用.ToString()
- 甚至可以在.ToString
没有()的情况下调用它.代码将运行没有问题,VB将整数解释为字符串而没有被告知.
在C#中,这些会导致编译错误 - .ToString()
在编译之前,您需要调用并在该情况下正确调用它.
有没有办法让VB编译过程检查与C#编译过程相同的东西?在混合团队中强制进行此检查是最佳做法吗?
您可以打开几个编译器选项,Option Strict将执行您想要的大部分操作,即不允许您为字符串传递整数.
您可以在项目设置的"编译"选项卡上进行设置,也可以将其放在Option Strict On
类/模块文件的顶部.
然而,诸如能够调用o.ToString
而不是o.ToString()
语言语义的一部分之类的东西,你无法做任何事情.
如果你真的想要像C#一样编译,那么你必须使用C#.
对不起:(
希望这可以帮助