【问题标题】:Early binding against late binding早期绑定对抗后期绑定
【发布时间】:2016-12-15 06:30:24
【问题描述】:

我刚刚打开了此类选项 strict 并发现了我不习惯处理的问题,例如 late binding。实际上,以下几行会导致后期绑定错误

Dim available_ports As Array
available_ports = SerialPort.GetPortNames()
If available_ports(0).ToString <> "" Then...

我知道当一个对象被分配给一个声明为特定对象类型的变量时,它是早期绑定

我尝试了几个想法,但无法处理此错误。如何提前绑定这段代码的最后一行?

我做的最有趣的事情是

Dim available_ports As String

最后一行的错误消失了,但第二行出现了一个新错误,告诉我无法将String () 转换为String

【问题讨论】:

  • 错误信息到底是什么?到底是哪一行?

标签: vb.net oop object binding


【解决方案1】:

这是因为GetPortNames() 方法返回一个字符串数组。类 Array 并没有真正匹配,String 也不是 Array...

Dim available_ports As String()

应该可以

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 2023-03-29
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多