Командлет Powershell C # с параметрами Hashtable /Dictionary

Может кто-нибудь сказать мне, как добавить параметр в мои пользовательские командлеты C #, который представляет собой Hashtable /StringDictionary, чтобы я мог вызывать свой командлет способом, который напоминает это:

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

Я просто не могу найти какую-либо документацию /пример, который бы ясно и просто объяснял, как это сделать, или, если это вообще возможно, для пользовательских командлетов.

Могу ли я просто использовать:

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

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

    ...

Или что-то еще?

С уважением

4 голоса | спросил Christian Mikkelsen 4 FebruaryEurope/MoscowbSat, 04 Feb 2012 02:26:45 +0400000000amSat, 04 Feb 2012 02:26:45 +040012 2012, 02:26:45

1 ответ


0

Вы можете использовать следующее

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

Clear

3

Добавить

Максимизация

Закрыть

ответил Alexander Petrovsky 2 +04002012-10-02T23:33:31+04:00312012bEurope/MoscowTue, 02 Oct 2012 23:33:31 +0400 2012, 23:33:31

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132