1

是否可以通过早期绑定从 PowerShell 调用 .NET 方法?

我有一个管道脚本,它在 .NET 中调用单个 .NET 方法process {...}。PowerShell 通过反射调用此方法,现在Invoke(不是方法本身,只是反射调用)占用了总执行时间的 70%。

方法总是一样的,所以我宁愿要求 PowerShell 根本不要使用反射。

4

1 回答 1

3

我相信在 PowerShell 中早期绑定或至少在动态语言中尽可能早绑定的唯一方法调用类型如下

  1. CmdLets。
  2. 静态方法

我不太确定#2。我相信他们仍然必须使用反射来获得底层方法。

CmdLets 可能是这里更好的选择。在这种情况下,实际调用会提前绑定,但参数仍然必须经过转换过程。尝试将您的方法调用移动到 CmdLet 中,看看是否对您有帮助。

于 2009-03-03T13:25:50.980 回答