与哈希表/字典参数Powershell的C#Cmdlet的
问题描述:
谁能告诉我如何将参数添加到我的自定义C#的cmdlet这是一个Hashtable/StringDictionary,这样我可以打电话给我的命令用它类似于这样的方式:与哈希表/字典参数Powershell的C#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; }
...
还是别的什么?
亲切的问候
答
您可以使用以下
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
的funcitonality输出是
清除进入
清除
添加
最大化
关闭
+0
“Hashtable”类位于System.Collections命名空间中,以防其他人查找。 – Nick 2016-06-23 13:14:37
“我能不能用......?” - 是的,它看起来是正确的。 – 2012-02-04 06:25:43
至少它肯定应该为'Hashtable'工作。然后,您可以将值'@ {...}'从脚本传递到cmdlet。 – 2012-02-04 13:43:42