我正在编写一个PowerShell函数,它将哈希表作为参数之一。
我做了一些不好的做法吗?其次,有更好的方法吗?
代码:
function removeItem
{
Param(
[Parameter(Mandatory=$True)]
[string]$path,
[string]$writetoText,
$hashWrite = @{}
)
}
答案 0 :(得分:1)
我看不出任何理由为什么使用[hashtable]
或任何其他数据类型作为参数是不好的做法,至少在真空中是这样。如果您告诉我们您打算如何处理它,那么我们可能会告诉您更好的方法来实现您的目标。
如果您的目的是将许多相关参数传递给函数,但它们仅适用于某些其他参数存在或具有某些值,那么我会说在PowerShell中使用[hashtable]
进行简单的操作是不好的做法此
为什么呢?因为您可以使用Parameter Sets和Dynamic Parameters以语言支持的方式执行此操作(通过自动生成帮助,制表符完成值等)并处理大部分验证,您将需要为。编写代码。