首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Read-Host能否过载?

Read-Host能否过载?
EN

Stack Overflow用户
提问于 2011-01-03 23:35:25
回答 2查看 254关注 0票数 0

在编写自定义PowerShell主机时,可以读取主机(即PSHostUserInterface.ReadLine)被重载以返回对象而不是字符串?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-04 02:23:21

当你想让用户给你一个特定的类型时,通常最好让PowerShell来进行类型转换。例如:

代码语言:javascript
复制
function get-duration {
    param(
    [Parameter(Mandatory=$true)]
    [TimeSpan]$HowLongDidItLast
    )

 return $HowLongDidItLast 
 }

代码语言:javascript
复制
 [TimeSpan](Read-Host "How long did it last?")

将返回一个timespan对象,假设用户输入了类似于数字或"2:30“的内容...

然而,在Excel.Range的情况下...它是一个接口,所以PowerShell不会处理它,您也不能直接提示输入它。

作为一般规则,我会避免在PowerShell cmdlet或函数中使用接口作为参数类型,因为缺少强制性...

票数 2
EN

Stack Overflow用户

发布于 2011-01-04 00:00:07

你到底想要实现什么?例如,你希望read-host返回什么?

您不能通过PSHost*接口重载read-host;但是,您可以通过在您的自定义主机中可用的read-host cmdlet上创建一个proxy function来完成您想要的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4585782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档