Как получить значение динамического параметра через конвейер? - PullRequest
0 голосов
/ 17 мая 2019

Я пишу командлет powershell в C # и застрял в проблеме.Я знаю, как извлечь значение параметра из конвейера.Я делаю это, добавляя ValueFromPipelineByPropertyName = true на свойство, украшенное атрибутом Parameter.Я делаю то же самое для свойств, определенных в классе, содержащем динамические параметры.Однако динамические параметры всегда равны нулю.Что может быть не так?

public class ActiveDirectorySpecificParameters
    {
        [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true)]
        [ValidateNotNullOrEmpty]
        public string Domain { get; set; }
    }

и затем в классе командлетов, реализующих IDynamicParameters, у меня есть следующий код:

public object GetDynamicParameters()
        {
            switch (IdentityStoreType)
            {
                case Common.Enums.IdentityStoreType.ActiveDirectory:
                    _parameterSetContext = new DynamicParameters.ActiveDirectorySpecificParameters();
                    break;
                case Common.Enums.IdentityStoreType.WindowsAzure:
                    _parameterSetContext = new DynamicParameters.AzureSpecificParameters();
                    break;
                case Common.Enums.IdentityStoreType.GSuite:
                    _parameterSetContext = new DynamicParameters.GSuiteSpecificParameters();
                    break;
                default:
                    return null;
            }
            return _parameterSetContext;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...