PowerShell $null
是否等同于.NET null
?我有一个场景,其中我必须从PowerShell调用.NET方法并传递null
作为方法参数。截至目前,我在方法调用上遇到了一些与程序集加载相关的错误。我想知道$null
是否是罪魁祸首。另外,如果您知道使用PowerShell中的null
参数调用.NET方法的正确方法,请分享。
方法签名:
void SetUp(IKernel kernel, Action<IBindingInSyntax<object>> obj)
由于
答案 0 :(得分:3)
PowerShell将它的$ null转换为.NET函数调用中的null。
以身作则证明。
Add-Type -TypeDefinition @"
public static class Foo
{
public static bool IsNull(object o)
{
return o == null;
}
}
"@ -Language CSharp
[Foo]::IsNull($null)
[Foo]::IsNull("string")
输出:
True
False
$ null 包含对对象的空引用,难怪它只是有效,即使它们是两个不同的东西。