Я пытаюсь переписать сценарий C # в PowerShell.Я разбираю это по частям.
Версия PowerShell говорит мне: «Не удается найти перегрузку для« Call »и счетчика аргументов:« 2 ».».Так что я знаю, что это потому, что PS требует присутствия третьего параметра.Но почему C # не требует этого?Из-за «params»?
Что парамы вообще означают или делают в этом контексте?Как я могу имитировать это в PowerShell?
Да, я пропустил много кода, потому что не чувствовал, что это относится к моей проблеме непонимания, что происходит с этой конкретной ошибкой.
C #
object dialog = r.Call(ofd, "CreateVistaDialog")
public class Reflector
{
public object Call(object obj, string func, params object[] parameters)
{
return Call2(obj, func, parameters);
}
}
PowerShell
$Dialog = $Reflector.Call($This.OFD, "CreateVistaDialog")
Class Reflector
{
[Object]Call([Object]$Obj, [String]$Func, [Object[]]$Parameters)
{
return $This.Call2($Obj, $Func, $Parameters)
}
}