0

我注意到我的一些函数没有"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

(如果我将返回类型更改为字符串,我会收到警告)

4

1 回答 1

3

Project Properties > Compile下,有一个名为“警告配置”的部分。在那里,您可以将这些类型的条件设置为警告、错误或无。

在这种情况下,可以将条件“函数返回没有返回值的内在值类型”设置为“无”。也可以禁用它#Disable Warning BC42353

于 2019-04-25T16:10:07.293 回答