如何将cmdlet参数(字符串)转换为任何其他类型

时间:2011-07-07 10:53:12

标签: c# cmdlet

我想将自定义类型的参数传递给我的cmdlet。我声明参数如下:

[Parameter(Position = 1)]
public StoreIdParameter Identity { get; set; }

但是当我使用参数运行cmdlet时(像这样:Get-Store VS)我得到一个例外:

  

无法绑定参数'Identity'。   无法转换类型的“VS”值   键入“System.String”   “R.Management.StoreIdParameter”。

我创建了一个StoreIdParameter的构造函数,它接受String但它没有帮助。它应该是从字符串到我的类型的某种类型转换器吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。那是我的错 - 我的构造函数只在基类中接受字符串参数。我已经使用字符串参数将构造函数添加到派生类(StoreIdParameter),并且Powershell可以通过调用适当的构造函数来创建此类的实例