gpt4 book ai didi

VB.Net Enum ToString 返回一个未知数

转载 作者:行者123 更新时间:2023-12-04 07:05:55 34 4
gpt4 key购买 nike

我构建了一个简单的 vb.net winforms 项目,它可以 ping IP 地址并记录结果。它在我试过的大多数机器上都能正常工作。我使用 IPStatus.tostring 方法记录 ping (System.Net.NetworkInformation.IPStatus) 的状态结果。

通常这会返回一个文本结果,例如“成功”或“超时”

昨天,在一台机器上它返回“65”……这不是枚举值之一。我有一种感觉,这可能是值(value)观的结合。我运行了一些测试代码:

Dim status As System.Net.NetworkInformation.IPStatus
status = Net.NetworkInformation.IPStatus.Success
MsgBox(status.ToString)

返回“成功”

和这个:
status = Net.NetworkInformation.IPStatus.BadDestination Or Net.NetworkInformation.IPStatus.BadHeader
MsgBox(status.ToString)

返回“11050”

我怀疑我看到的“65”是枚举值的某种组合的结果。有什么办法可以更改第二个示例中的代码以显示两个值的文本名称?那是……我可以通过什么方式查看此变量中的所有值?

最佳答案

IPStatus不是 Flags enum,因此以这种方式组合其成员值是不合适的。这是它通过 Reflector 的定义:

Public Enum IPStatus
' Fields
BadDestination = &H2B0A
BadHeader = &H2B22
BadOption = &H2AFF
BadRoute = &H2B04
DestinationHostUnreachable = &H2AFB
DestinationNetworkUnreachable = &H2AFA
DestinationPortUnreachable = &H2AFD
DestinationProhibited = &H2AFC
DestinationProtocolUnreachable = &H2AFC
DestinationScopeMismatch = &H2B25
DestinationUnreachable = &H2B20
HardwareError = &H2B00
IcmpError = &H2B24
NoResources = &H2AFE
PacketTooBig = &H2B01
ParameterProblem = &H2B07
SourceQuench = &H2B08
Success = 0
TimedOut = &H2B02
TimeExceeded = &H2B21
TtlExpired = &H2B05
TtlReassemblyTimeExceeded = &H2B06
Unknown = -1
UnrecognizedNextHeader = &H2B23
End Enum

您如何获得 IPStatus 65 的值 - 现在这是真正的问题:)

关于VB.Net Enum ToString 返回一个未知数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1137897/

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