vb.net - VB.NET 中的隐式转换

标签 vb.net late-binding implicit-conversion

这个问题是针对懒惰的 VB 程序员的。请。

在 vb 中我可以做到并且不会出现任何错误。

示例1

Dim x As String = 5
Dim y As Integer = "5"
Dim b As Boolean = "True"

示例2

Dim a As EnumType = 4
Dim v As Integer = EnumType.EnumValue

示例3

Private Sub ButtonClick(sender As Object, e As EventArgs)
    Dim btn As Button = sender        
End Sub

示例4

Private Sub ButtonClick(sender As Button, e As EventArgs)
    Dim data As Contact = sender.Tag
End Sub

如果我确实知道预期的运行时类型,那么这是否“禁止”依赖 vb 语言的内置转换? 我什么时候可以依靠?

最佳答案

当然不是“禁止”使用Option Strict Off,但几乎每个人都强烈建议使用Option Strict On

原因在其他问题中有解释,例如this .

关于vb.net - VB.NET 中的隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619597/

相关文章:

.net - 如何从 vb.net 中的正则表达式匹配中获取字符串?

vba - VBA 中 msoTextOrientationHorizo​​ntal 的常量值是多少?

C++ 结构隐式转换

c# - 为什么在 C# 中不能共存相同类型的隐式和显式运算符?

vb.net - 实现 NHibernate 单元测试以使用 VB.NET/MBUnit 生成模式

MySQL (0x80004005) 无法连接到任何指定的 MySQL 主机(在非开发计算机上)

c++ - 这里涉及函数调用和参数传递的概念

函数重载的 C++ 后期绑定(bind)

c# - C#如何制作行为类似于Nullable <T>的类

html - 识别 Html 标记并替换其在 vb.net 中的元素