是否可以为“值类型”功能启用“函数未在所有代码路径上返回值”警告?

时间:2019-04-25 15:40:13

标签: vb.net visual-studio compiler-warnings return-type

我注意到我的一些函数没有抛出"Function doesn't return a value on all code paths"警告,即使不是所有的路径都返回一个值。经过一些试验和研究,看起来返回“值类型”数据类型(定义为here)的函数不会引发警告,而返回“参考类型”数据类型的函数将引发警告。我认为这是因为值类型具有默认值(通常为0),而引用类型的默认值为Nothing

所以我可以理解为什么通常不会对Value Type函数引发警告。但是,有时重要的是确保该函数在所有路径上显式返回一个值,即使该函数返回值类型也是如此。是否可以为返回值类型的函数(如布尔,双精度或枚举器函数)启用此警告?


编辑:通过请求,这是一个不会引发警告的函数的示例:

Function TestFunction() As Double
    If Now.DayOfWeek = DayOfWeek.Monday Then
        Return 10
    End If
End Function

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

1 个答案:

答案 0 :(得分:3)

项目属性>编译下,有一个名为“ 警告配置”的部分。在其中,您可以设置是否要将这些类型的条件设置为警告,错误或不设置。

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

禁用它