2011-07-07 21 views
1

カスタムタイプのパラメータをmyコマンドレットに渡したいとします。私はこのようなパラメータを宣言します。コマンドレットパラメータ(文字列)を他のタイプに変換する方法

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

しかし、私は(このような:ゲット・ストアVS)パラメータを指定してコマンドレットを実行すると、私は例外を取得:

は、パラメータ「アイデンティティ」をバインドできません。 タイプ "System.String"の "VS"値を "R.Management.StoreIdParameter"に変換することはできません。

StoreIdParameterのコンストラクタを作成しましたが、これはStringを受け入れますが、それは役に立ちませんでした。それは文字列から私の型にいくつかの型変換する必要がありますか?

答えて

0

解決策を見つけました。それは私の間違いでした - 私は基本クラスでのみ文字列引数を受け入れるコンストラクタを持っていました。私は文字列引数を持つ派生クラス(StoreIdParameter)にコンストラクタを追加し、Powershellは適切なコンストラクタを呼び出すことによってこのクラスのインスタンスを作成できます

関連する問題