我注意到我的一些函数没有"Function doesn't return a value on all code paths"发出警告,即使它们的所有路径都没有返回值。经过一些实验和研究,看起来返回“值类型”数据类型(定义见此处)的函数不会引发警告,而返回“引用类型”数据类型的函数会引发警告。我认为这是因为值类型有一个默认值(通常是0),而引用类型的默认值是Nothing.
所以我可以理解为什么通常不会为值类型函数抛出警告。但是,有时确保函数在所有路径上显式返回值很重要,即使该函数返回值类型。是否可以为返回值类型的函数启用此警告,例如布尔函数、双精度函数或枚举器函数?
编辑:根据要求,这是一个不引发警告的函数示例:
Function TestFunction() As Double
If Now.DayOfWeek = DayOfWeek.Monday Then
Return 10
End If
End Function
(如果我将返回类型更改为字符串,我会收到警告)