通常情况下,我可以编写一个很好的紧凑的 VB.NET 小函数,当需要执行 Return 语句时,很自然地只返回快速计算或方法调用的结果。但是,如果我需要单步调试调试器以查看将从该函数返回的内容,这会变得很困难。例如,用这个简单的方法来说明这个概念:
Public Shared Function GetAge(ByVal dob As DateTime, ByVal asOfDate As DateTime) As Integer
If asOfDate.Date < dob.Date Then Return 0
Dim factor = If(asOfDate.DayOfYear < dob.DayOfYear, 1, 0)
' What's going to be returned?
Return asOfDate.Year - dob.Year - factor ' Imagine that this could be a more complicated calc, or one with side-effects that would prevent me from running it in the immediate window
End Function
我发现自己改变了编写代码的方式,只是为了让调试更容易。所以那个方法会变成:
Public Shared Function GetAge(ByVal dob As DateTime, ByVal asOfDate As DateTime) As Integer
If asOfDate.Date < dob.Date Then Return 0
Dim factor = If(asOfDate.DayOfYear < dob.DayOfYear, 1, 0)
Dim result = asOfDate.Year - dob.Year - factor ' I made this variable just for setting a debugging breakpoint
Return result ' I can now set a breakpoint here, but it seems awkward
End Function
我在调试器中是否遗漏了什么可以更容易地查看方法将返回的内容,而不是总是制作
result
变量或跳回调用者以查看结果?仅仅为了使简单的调试任务更容易而改变代码的编写方式似乎很尴尬 - 感觉我必须遗漏一些东西。
最佳答案
您可以在 End Function
处设置断点行并将光标悬停在函数名称上。
关于.net - 如何在没有返回变量的情况下调试 VB.NET 计算函数返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238505/