问题
I am using VS2005 to maintain some vb.net code. I am preparing to update to newer toolsets and am doing code cleanup first.
I am cleaning up all the compile error messages, but I noticed that I do not get a warning if I pass a String to a function that is expecting an Integer.
How can I force that warning?
The specific situation is that I am changing this code:
Public Function MyFunc(ByVal MyVar)
to
Public Function MyFunc(ByVal MyVar As Integer)
And I want to find all the places that were NOT passing in an Integer.
回答1:
Selectively Turn on Option Strict
Add to the top of the code file:
Option Strict On
Since this will enforce the option only in those files, this method is not recommended on an ongoing basis because it requires you to remember to do so for each file.
Project Wide
Open Project Properties (Project Menu - Properties among others). On the Compile Tab set the Option Strict
drop down to On. You can also demote some conditions from an error to a warning or ignore that condition.
This too can be forgotten.
Visual Studio Default (recommended)
You can make Option Strict On
the default setting for all new projects, so you don't have to remember to do so at any level:
Tools Menu -> Projects and Solutions -> VB Defaults
This wont affect a project already in the works - use #2 for that.
来源:https://stackoverflow.com/questions/43529281/enforce-datatypes-passed-to-methods-option-strict