gpt4 book ai didi

.net - 如何在没有返回变量的情况下调试 VB.NET 计算函数返回

转载 作者:行者123 更新时间:2023-12-01 00:00:21 25 4
gpt4 key购买 nike

通常情况下,我可以编写一个很好的紧凑的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com