1

カスタム型のパラメーターをコマンドレットに渡したいです。次のようにパラメーターを宣言します。

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

しかし、パラメーターを指定してコマンドレットを実行すると (このように: Get-Store VS)、例外が発生します。

パラメータ 'Identity' をバインドできません。タイプ「System.String」の「VS」値をタイプ「R.Management.StoreIdParameter」に変換できません。

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

4

1 に答える 1

0

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

于 2011-07-07T20:27:07.177 に答える