예 및 아니오 단추를 사용하여 PowerShell에서 메시지 상자를 표시하려고합니다.MessageBox.Show()를 기본 버튼 이상으로 PowerShell에서 호출 하시겠습니까?
[system.windows.forms.messagebox]::show("Hello, world!")
을 그리고 내가 원하는 버튼의 변수 $ 버튼을 만들 수 있습니다 :
나는 OK 버튼이있는 메시지 상자를 표시 할 수 있습니다 내가보기 것을 볼 수 있습니다
$buttons=[system.windows.forms.messageboxbuttons].yesno
과() 정적 메서드가 오버로드되고 옵션 중 하나가 세 개의 매개 변수를 제공하는 것입니다.
표시 (String, String, MessageBoxButtons) Dis 지정된 텍스트, 캡션 및 단추가있는 메시지 상자를 재생합니다. (?)
그래서 자연스럽게 내가이 전화를하기로 결정
[system.windows.forms.messagebox]::show("Are you sure?","",$buttons)
을 그리고이 오류가 발생합니다
"쇼"에 대한 과부하 인수 수를 찾을 수 없습니다 : "삼".
그러나 세 가지 인수를 허용하는 "표시"에 과부하가 있습니다!
내가 뭘 잘못하고 있니?
(PowerShell의 방법은 일반적으로 도트 구문을 사용하여 수행됩니다 호출 왜 누군가가 말해 줄 수?. object.method을()하지만 필요 "::"메시지 박스 클래스 그것은 혼란이)
저는 정적 호출을했지만 왜 PowerShell이 그 차이를 만들지 설명 할 수 없었습니다. MessageBox는 객체가 아니라 클래스임이 분명합니다. 그러므로 :: 대신에. 불필요한 것 같습니다. 인터프리터가 필요하지 않고 사용자에게 혼란을주는 이유가 더 정확한 구문을 추가해야하는 이유는 무엇입니까? –
사용되는 구문 (예 : :: 또는.)에 따라 [YourType]은 C# typeof (YourType) 또는 정적 메서드에 액세스하기위한 경로와 동일합니다. 통역관은 당신이하고 싶은 것을 알 필요가 있습니다! 어떻게 하시겠습니까? –
나는 C#처럼 그것을 할 것이라고 생각한다. –