获取传递给PowerShell中的函数的所有参数
发布时间:2020-12-14 05:44:44 所属栏目:Windows 来源:网络整理
导读:我有一个功能如下.它根据传递的参数生成一个字符串. function createSentenceAccordingly {Param([Parameter(mandatory = $false)] [String] $name,[Parameter(mandatory = $false)] [String] $address,[Parameter(mandatory = $false)] [String] $zipcode,[
我有一个功能如下.它根据传递的参数生成一个字符串.
function createSentenceAccordingly { Param([Parameter(mandatory = $false)] [String] $name,[Parameter(mandatory = $false)] [String] $address,[Parameter(mandatory = $false)] [String] $zipcode,[Parameter(mandatory = $false)] [String] $city,[Parameter(mandatory = $false)] [String] $state) $stringRequired = "Hi," if($name){ $stringRequired += "$name," } if($address){ $stringRequired += "You live at $address," } if($zipcode){ $stringRequired += "in the zipcode:$zipcode," } if($name){ $stringRequired += "in the city:$city," } if($name){ $stringRequired += "in the state: $state." } return $stringRequired } 所以,基本上函数会根据传递的参数返回一些东西.我想尽可能地避免if循环并立即访问所有参数. 我可以访问数组或散列映射中的所有参数吗?因为我应该使用命名参数,所以不能在这里使用$args.如果我可以一次访问所有参数(可能在$args或hashamp之类的数组中),我的计划是使用它来动态创建返回字符串. 在将来,函数的参数将增加很多,我不想继续写每个附加参数的循环. 提前致谢,:) 解决方法$PSBoundParameters variable是一个哈希表,它只包含显式传递给函数的参数.
您想要的更好的方法可能是使用parameter sets,以便您可以命名特定的参数组合(不要忘记在这些组中强制使用相应的参数). 然后你可以这样做: switch ($PsCmdlet.ParameterSetName) { 'NameOnly' { # Do Stuff } 'NameAndZip' { # Do Stuff } # etc. } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 查看IIS里每个站点的资源使用情况
- Microsoft Exchange Audit Logging
- wpf – 如何在Expression Blend中使用CollectionViewSource
- windows – 如何移动到某些选项卡上某些窗口中存在的非隐藏
- 为Microsoft的Luis编写F#类型提供程序的好方法是什么?
- Qt 5 QML应用程序,包含许多Windows或复杂的UI
- windows – 在程序文件文件夹上安装有多重要?
- windows-server-2008 – 具有3台服务器的高可用性:虚拟化与
- windows-phone – 适用于Windows Phone 8.1的独立浏览器工具
- windows-7 – 从命令行删除SCCM证书
推荐文章
站长推荐
- winapi – 如何子类化win32控件并保持与旧版本的
- .net – Dll是已发布的网站,但在Build中缺失
- wpf – 无法通过setter设置System.Windows.Contr
- .net – 在Windows上使用c#自动化Safari Web浏览
- Windows Azure部署保留旧版Silverlight应用程序
- windows – 在Delphi中获取DLL调用者信息
- com – 未发送IAudioSessionManager2通知
- 如何在Windows上安全地转义cmd.exe shell的命令行
- Windows Server 2016-Windows 时间服务概览
- 如何在Windows机器上访问docker数据卷?
热点阅读