函数返回不同的数据类型

时间:2011-02-15 09:28:37

标签: .net vb.net types type-conversion

我刚刚看到以下代码段:

Public Function Checked() As Boolean
      Return applyChange 'This is a string!
End Function

这里发生了什么?返回类型Boolean的函数如何实际返回string?我假设这里有一些隐含的转换,我宁愿没有。我错过了编译选项吗?

这是.NET 1.0。

1 个答案:

答案 0 :(得分:5)

您错过了Option Strict编译选项。您可以在项目的“属性”窗口的“编译”选项卡下找到它。启用它后,您会收到以下错误:

Option Strict On disallows implicit conversions from 'String' to 'Boolean'.


我建议立即在 上启用此选项并修复所有生成的编译错误。从String转换为Boolean是一个冒险的主张。如果applyChange实际上设置为类似“Hello”的字符串(而不是“True”或“False”),则会出现以下运行时错误:< / p>

  

从字符串“Hello”到“Boolean”类型的转换无效。