カスタムPowerShellホストを作成するとき、読み込みホスト(PSHostUserInterface.ReadLine)をオーバーロードして文字列ではなくオブジェクトを返すことができますか?読み取りホストを過負荷にすることはできますか?
答えて
ユーザーに特定の種類を指定したい場合は、通常は最適ですPowerShellに型キャストをさせる。例えば:
function get-duration {
param(
[Parameter(Mandatory=$true)]
[TimeSpan]$HowLongDidItLast
)
return $HowLongDidItLast
}
OR
[TimeSpan](Read-Host "How long did it last?")
は、ユーザーがケースには、しかし...
の数または "二時30分" のようなものを入力すると仮定すると、TimeSpanオブジェクトを返します範囲...それはインターフェイスなので、PowerShellはそれに対処するつもりはないので、直接入力することはできません。
一般的なルールとして、私はそのせいで不足のcoersionのPowerShellコマンドレットまたは関数のパラメータの種類などのインタフェースを避けるだろうが...
あなたは正確に何を目指していますか?たとえば、読者ホストが正確に返すものは何ですか?
読み取りホストをPSHost *インターフェイス経由でオーバーロードすることはできません。ただし、カスタムホストで使用可能なread-hostコマンドレットにproxy functionを作成することで、目的を達成できます。
私はエクセルと通信ホストを作成しようとしています、そしてそれがあればいいだろうread-hostはExcelの範囲オブジェクトを返すことができます。 –
ユーザはプロンプトでセル範囲に入力しますか?私はあなたが文字列として範囲をエンコードできなかったのだろうかと思います:> read-host | convertto-range? – beefarino
私は今のようなものを実装しようとしています。 Excel.Application.InputBox()関数は、ユーザーが範囲を選択できるようにし、文字列として返すことができるように見えるので、入力を節約できます。 –
- 1. 私は特化したり、過負荷にするべきですか?
- 2. この関数は過負荷ですか?
- 3. redisに過負荷がかかるとどうなりますか?
- 4. Kotlinで過負荷になる
- 5. この読み取りロックを取り除くことはできますか?
- 6. C#の過負荷問題
- 7. C++運転、過負荷、クラッシュ
- 8. 過負荷参照変換
- 9. のstd ::過負荷エラー
- 10. .Netの負荷が高いときにMSMQの読み取りに失敗します。
- 11. ホストされた残りの負荷テストソリューション
- 12. どのオペレータに過負荷を掛ける必要がありますか?
- 13. TypeScriptの組み込みオブジェクトのメソッドに過負荷を追加する
- 14. tastypieモデルリソースフィールドを読み取り専用にすることはできますか?
- 15. GITリモートを読み取り専用にすることはできますか?
- 16. 過負荷関数とluabindに関する問題
- 17. Androidアプリケーションの場合、Hibernateは過度の負荷ですか?
- 18. システム負荷とユーザー負荷
- 19. jQueryはCookieを読み取ることができますか?
- 20. 私は負荷で作業しているウェブサイトをより速くすることができますか?
- 21. MVCコントローラのアクションの過負荷
- 22. 過負荷後置インクリメント演算子
- 23. メソッドのパラメータおよび過負荷
- 24. 過負荷の問題=機能
- 25. C++演算子の過負荷チートシート
- 26. 非友人シングルライン演算子+過負荷+ =
- 27. 過負荷演算子の式のパフォーマンス?
- 28. 「subbut_Click」マッチデリゲートのための過負荷「System.EventHandler」
- 29. Cassandra読み込み読み込みノード間で負荷が変化しますか?
- 30. レールコンソールを読み取り専用モードで開くことはできますか?
Excelオブジェクトを含むコマンドレットの作成にはどのようにアプローチすればよいでしょうか? –
特殊な自動変数を公開したり、$ Host.PrivateDataに追加のプロパティやメソッドを追加したりすると、それらとやりとりするコマンドレットを書くことができます。 NugetまたはPoshConsole + PowerBootsを見てください。これらの両方は、ホストの内部を、別のホストから実行しているときに動作しないか、動作しないコマンドレットに公開します。 – Jaykul
よかった、ありがとう。 –