在下面的代碼:不返回的值是一個結構不會產生警告
Public Structure MyDate
Public year As Integer
Public month As Integer
End Structure
Public Function GetMyDate() As MyDate
End Function
Public Function GetSystemDate() As Date
End Function
Public Function GetListview() As ListView
End Function
Public Function GetInteger() As Integer
End Function
的Visual Studio 2015年發出警告說GetSystemDate,GetListview和GetInteger「不會在所有代碼路徑返回一個值「但它在GetMyDate上保持沉默。
有沒有明智的理由呢,或者它是一個錯誤?
類似的bug(所有結構)幾年前報道(參見:[BC42105不火的結構(https://connect.microsoft.com/VisualStudio/feedback/details/488430/bc42105 ),並且據說是爲VS2010修復的。但是,看起來用戶定義的結構在VS2010及更高版本中仍然存在問題。你可以嘗試報告它。 – TnTinMn
@TnTinMn:您應該將其作爲答案發布。這是迄今爲止最正確的一個。 –
這是設計。在Project> Properties> Compile選項卡中可以看到。警告設置被很好地命名爲「函數返回引用類型」和「函數返回內在值類型」。所以不是結構。不得不保持與以前的VB版本兼容並不是太高興。這個設置頁面在VS2017 btw中被嚴重破壞,這也不算什麼喜悅。誰測試這個東西,看起來像沒有人。 –