【发布时间】:2015-05-19 07:05:02
【问题描述】:
Dim cpuWMI As ManagementObjectSearcher = New ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor")
For Each instance As ManagementObject In cpuWMI.Get()
cpuspeedTXT.Text = instance.GetPropertyValue("CurrentClockSpeed").ToString
Next
我注意到这不起作用,所以我在Dim 上设置了一个断点。当我迈出一步时,它恢复了程序(就好像它跳过了其余的一样)。我还注意到这个块下面的任何东西都不会被执行。
【问题讨论】:
-
您可以在 Dim 之后插入一个临时代码行并在其上放置一个断点,这样您就可以检查 cpuWMI
-
我确实这样做了。我在
cpuWMI之后加入了Dim test。越过cpuWMI后,程序继续。它完全忽略了cpuWMI之后的任何内容。 -
Dim 实际上可能不会生成任何 IL。尝试插入 Console.WriteLine() 代替。原来的 Dim 是否抛出异常?这将跳过下一行。
-
不,它没有抛出异常。就像被注释掉后的其他所有内容一样。
Console.WriteLine()没有改变任何东西。 -
我想我找到了。我把它放在一个 Try/Catch 块中,它给了我“无效参数”。感谢您提及异常,因为这是我想使用 Try/Catch 块的唯一原因。