带有Hashtable / Dictionary参数的Powershell C#Cmdlet

时间:2012-02-03 22:26:45

标签: c# powershell parameters hashtable cmdlet

任何人都可以告诉我如何向我的自定义C#cmdlet添加一个参数,这是一个Hashtable / StringDictionary,这样我就可以用类似于这样的方式调用我的cmdlet:

 CustomCmdlet -File $someFilePath `
              -StringDictionary/HashtableParameter @{
                            "name1"="value1"
                            "name2"="value2"
                            "name3"="value3"
                            ...
                       }

我根本找不到任何文档/示例,这些文档/示例清楚而简单地解释了如何执行此操作,或者甚至可以用于自定义cmdlet。

我可以使用:

    [Parameter(Mandatory = false, Position = 9)]
    public Dictionary<string,string> FieldValues { get; set; }

    [Parameter(Mandatory = false, Position = 9)]
    public HashTable FieldValues { get; set; }

    ...

还是其他什么?

亲切的问候

1 个答案:

答案 0 :(得分:5)

您可以使用以下

public Hashtable[] SearchCriteria { get; set; }

具有像

这样的功能
Start-Process calc -PassThru | Get-UIAWindow | Get-UIAButton -SearchCriteria @{automationid="13*";name="[3-5]"},@{name="c*"},@{name="a*"},@{isenabled="false"} | Read-UIAControlName

输出

4

清除条目

5

清除

3

添加

最大化

关闭