我正在尝试使用PowerShell显示一个带有“是”和“否”按钮的消息框。
我可以显示一个带有“确定”按钮的消息框:
[system.windows.forms.messagebox]::show("Hello, world!")
我可以创建一个名为$buttons的变量,并将所需的按钮放入其中:
$buttons=[system.windows.forms.messageboxbuttons].yesno
我可以看到Show()静态方法被重载了,其中一个选项是提供三个参数:
Show(String, String, MessageBoxButtons) 显示一个带有指定文本、标题和按钮的消息框。
所以自然而然(?)我决定调用它:
[system.windows.forms.messagebox]::show("Are you sure?","",$buttons)
这会导致错误:
找不到"Show"的重载和参数计数:"3"。
但是确实有一个接受三个参数的"Show"的重载!
我做错了什么?
(还有,为什么在PowerShell中调用方法通常使用点语法:object.method(),但对于MessageBox类需要使用"::"?这很令人困惑。)