14

我对powershell不熟悉。我正在尝试做一些在 C# 中将是一行代码的事情,但在 powershell 中这很痛苦:(

在下面的三行中 wow3 会引发错误。有人知道为什么 wow3 会抛出未找到类型的错误吗?委托的这种语法是否仅适用于内置类型?

$wow1 =[System.Action[int]]
$wow2 =[MyType]
$wow3 =[System.Action[MyType]]
4

1 回答 1

39

这行 PowerShell:

$wow1 = [System.Action[int]]

等于 C# 的这一行:

var d = typeof(System.Action<int>);

也就是说,$wow1包含一个System.RuntimeType. 这真的是你想要做的吗?

也许你想要这样的东西?

C:\PS> [Action[int]]$action = {param($i) Write-Host "i is $i"}
C:\PS> $action.Invoke(10)
i is 10
于 2013-11-08T02:45:30.547 回答