我在新继承的VB.NET应用程序中的所有项目上都启用了Option Strict。我主要添加了大量的CStr、CBool、CType语句来消除所有的编译错误。
Dim x As String = someObject
dim val As SomeEnumType = 1变成了
Dim x As String = CStr(someObject) ' Not .ToString() because someObject could be Nothing
Dim val As SomeEnumType = CType(1, SomeEnumType)等。
我几乎是手工做所有的事情,一次一个错误,并有一个测试应用程序来测试什么都没有,...边界案例。
但是有没有可能我遗漏了一些在运行时会产生异常的东西呢?由于Option Strict,生成了什么类型的代码?它只是一些将要添加的转换,还是OptionStrict也可以做其他事情?
发布于 2012-11-15 22:04:40
Option Strict On 不会生成任何额外的代码,它只是在您的vb.net语句依赖于隐式类型转换时告诉编译器生成错误。就像将一个对象赋给一个字符串一样。您在代码片段中编写的代码正是编译器在Option Strict关闭时所做的事情,因此您的类型转换操作符不会生成额外的代码。
当然,使用错误的转换并破坏现有代码的可能性总是不为零的。当你修改代码时,你必须做那些总是需要做的事情,你必须重新测试它。
https://stackoverflow.com/questions/13398965
复制相似问题