PowerShell V4 - 将哈希表传递给函数

时间:2015-02-22 17:53:41

标签: powershell hashtable

我正在编写一个PowerShell函数,它将哈希表作为参数之一。

我做了一些不好的做法吗?其次,有更好的方法吗?

代码:

function removeItem
{
    Param(
        [Parameter(Mandatory=$True)]
        [string]$path,

        [string]$writetoText,
        $hashWrite = @{}
    )

}

1 个答案:

答案 0 :(得分:1)

简答:否

我看不出任何理由为什么使用[hashtable]或任何其他数据类型作为参数是不好的做法,至少在真空中是这样。如果您告诉我们您打算如何处理它,那么我们可能会告诉您更好的方法来实现您的目标。

实施例

如果您的目的是将许多相关参数传递给函数,但它们仅适用于某些其他参数存在或具有某些值,那么我会说在PowerShell中使用[hashtable]进行简单的操作是不好的做法此

为什么呢?因为您可以使用Parameter SetsDynamic Parameters以语言支持的方式执行此操作(通过自动生成帮助,制表符完成值等)并处理大部分验证,您将需要为。编写代码。