通过PowerShell的反射调用静态方法

时间:2012-09-28 03:36:58

标签: reflection powershell

我正在从XML文件中读取有关各种对象的信息,需要从PowerShell实例化和设置这些对象的值。

这是一个使用Reflection检索UInt32.Parse(string)的示例。问题是$mi变量为null:

$o = new-object -typename "System.UInt32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
$mi = $o.GetType().GetMethod("Parse", [type[]] @([string].GetType()) )

相应的C#代码有效:

UInt32 o = 0;
var mi = o.GetType().GetMethod("Parse", new [] {typeof(string)});

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你需要使用反射吗?也许您可以使用$parse = [system.uint32]::Parse$parse.Invoke($arg)代替。