VB.Net - 指定的 Cast 无效但调试器显示值

VB.Net - Specified Cast is not valid But Debugger showing value

我正在尝试 运行 的代码很简单。从 Textbox 获取文本并通过 MsgBox 显示。现在我可能已经做了一百万次了,但是我得到了一个奇怪的错误。代码是:

 Dim s As String = FromDateTEX.Text.ToString
 MsgBox(s)

我从第二行得到这个错误:

System.InvalidCastException: 'Specified cast is not valid.'

这是奇怪的部分:调试器显示 s 的值是正确的。这是屏幕截图:

我做错了什么?

编辑:

即使这段代码也会出现同样的错误:

 MsgBox(“hello”)

上面一行,你访问控制DomainLUE的属性EditValue。如果 LUE 代表 LookUpEdit,您是否正在使用 DevExpress 等公司的第三方组件库?

如果是这样的话,FromDateTEX 也是来自这个库的文本框 (TextEdit) 控件吗?在那种情况下,FromDateTEX 也可能公开一个 EditValue 属性。然后您可能会尝试将该值转换为字符串:

Dim s As String = FromDateTEX.EditValue?.ToString()

我不确定为什么文本 属性 在这里有问题。我希望它能正常工作。很奇怪。

哦,顺便说一下,有时 Visual Studio 会变得有点疯狂。关闭 Visual Studio,可选择删除 .suo 文件,重新启动 Visual Studio 并重新打开解决方案也可能有帮助...

原来错误来自上一行。 LookupEditEditValue 实际上是 Short 并且它需要转换为 Integer.