我最近从一个C#团队切换到了vb.net团队。我无法找到答案的其中一件事是编译错误/选项的差异。让我解释。为什么VB.NET中没有错误
在C#中,我会使用默认设置在尝试将无效类型传递给像下面这样的模板类时出现编译时错误。在这里我创建一个带有字符串类型的动物,然后我传入一个导致编译错误的日期时间。
IAnimal<string> animal = new Animal<string>();
animal.SetTrainer(DateTime.Now);
我知道我会在vb.net中得到与“Option Strict”相同的编译时错误。然而,在同一个文件中有很多遗留(VB)代码,它们将不能用“Option Strict”进行编译。我有什么选择。我这样想:
- 切换到“选项严格”并修复所有错误。需要一些时间并可能破坏工作代码。
- 也许有一种替代方法可以确保编译时检查泛型。毕竟所有的泛型都比较新,所以也许总有一种方法来执行这个。
- ?
在此先感谢
+1非常同意。但是如果你介意这一点,我会**在项目级**上启用Option Strict,并且我会为每个文件添加** Option Strict Off **,如果没有它,将不会编译。一步一步,你会努力重构现有的代码。 –
感谢您分享您对此的看法。我将与我的团队 – Flodpanter
@Adriano +1讨论它 - 这可能是最好的解决方案。 –