我注意到我的一些函数没有抛出"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,我会收到警告)
答案 0 :(得分:3)
在项目属性>编译下,有一个名为“ 警告配置”的部分。在其中,您可以设置是否要将这些类型的条件设置为警告,错误或不设置。
在这种情况下,条件“函数返回没有返回值的内在值类型” 可以设置为“无”。也可以使用#Disable Warning BC42353