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 并重新打开解决方案也可能有帮助...
原来错误来自上一行。 LookupEdit
的 EditValue
实际上是 Short
并且它需要转换为 Integer
.
我正在尝试 运行 的代码很简单。从 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 并重新打开解决方案也可能有帮助...
原来错误来自上一行。 LookupEdit
的 EditValue
实际上是 Short
并且它需要转换为 Integer
.