对于“值类型”功能,是否可以启用“功能不会在所有代码路径上返回值”警告?

问题描述 投票:0回答:1

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

所以我可以理解为什么通常不会为Value Type函数抛出警告。但是,有时确保函数显式返回所有路径上的值是很重要的,即使该函数返回值类型也是如此。是否可以为返回值类型的函数启用此警告,如Boolean,double或枚举函数?


EDIT: By request, here's an example of a function that does NOT throw the warning:
Function TestFunction() As Double
    If Now.DayOfWeek = DayOfWeek.Monday Then
        Return 10
    End If
End Function

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

vb.net visual-studio compiler-warnings return-type
1个回答
3
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.