【发布时间】:2014-09-05 17:14:21
【问题描述】:
我正在尝试使用New-Object 在 PowerShell 中创建给定类型的实例。被实例化的类型的构造函数有一个 [string params] 类型的参数。例如,
public class Test
{
public Test(params string[] data)
{
//
}
}
如果我尝试使用以下命令实例化上述类型:
$ins = New-Object Test
我收到以下错误:
System.Management.Automation.PSargumentException:构造函数不是 成立。找不到适合类型的构造函数.....
实例化上述类型的正确方法是什么?我不想传递任何虚拟或空字符串作为输入参数。
以上示例代码仅用于演示目的。我要实例化的类是 Ninject 库中的 StandardKernel。类定义如下:
public class StandardKernel : KernelBase
{
public StandardKernel(params INinjectModule[] modules)
: base(modules)
{
}
public StandardKernel(INinjectSettings settings, params INinjectModule[] modules)
: base(settings, modules)
{
}
}
以下代码在 C# 中运行良好:
var kernel = new StandardKernel()
【问题讨论】:
-
您的代码仍然没有默认构造函数。尝试添加一行
public StandardKernel() : base() {}。
标签: .net powershell powershell-3.0