Cai*_*que 0 vb.net visual-studio-2010 visual-studio
最初不返回值的函数是否应该返回Nothing(因为 Visual Studio 在End Function语句中添加了一个绿色曲线,询问您是否忘记返回值),或者我可以忽略 VS 的提示?回国有什么影响Nothing,或者有什么影响吗?
tl;dr:这个示例代码应该返回Nothing还是不需要?真的很欢迎解释!
Public Shared sCaminhoGravacaoXML As String = "C:\\XMLData\\"\n\n Public Shared Function VerificaPastasXML()\n\n If Not IsNothing(sCaminhoGravacaoXML) And sCaminhoGravacaoXML <> "" Then\n\n Dim sRaiz As String = sCaminhoGravacaoXML\n\n If Not FileIO.FileSystem.DirectoryExists(sRaiz) Then\n FileIO.FileSystem.CreateDirectory(sRaiz)\n End If\n\n If Not Directory.Exists(sRaiz & "tempXML") Then\n Dim diInfo As DirectoryInfo = Directory.CreateDirectory(sRaiz & "tempXML")\n diInfo.Attributes = FileAttributes.Directory Or FileAttributes.Hidden\n End If\n\n Else\n sErroBaixaXML = "N\xc3\xa3o foi poss\xc3\xadvel montar a estrutura de pastas para os arquivos" & vbCrLf & "XML de NFe, favor consultar os par\xc3\xa2metros da filial!"\n End If\n\n End Function\nRun Code Online (Sandbox Code Playgroud)\n
\n\n\n此示例代码应该返回 Nothing 还是不需要?
\n
由于它从不返回值,因此它应该是一个Sub. Function向读者暗示返回了一个值,因此您的函数看起来有问题,就像现在一样,让每个必须维护它的人感到困惑。
从技术上讲,如果没有显式声明,aFunction会自动返回返回数据类型的默认值return。因此,您的函数(使用返回类型隐式声明Object)\xc2\xb9 将返回Nothing; 返回类型为 的函数Integer将返回0等。
由于忘记返回值是导致错误的常见原因,因此警告可以为您提供帮助。如果您想返回默认值,最好使用显式return声明来明确这一点。
\xc2\xb9 请考虑激活Option Strict以避免此类隐式声明。
| 归档时间: |
|
| 查看次数: |
7811 次 |
| 最近记录: |