2013-04-02 3 views
-2

Мой командлет пытается получить значения из трубопровода, но при запуске, я получил ошибку говоря:PowerShell Командлет: выражение должно быть читаемым

трубопровода intput не может быть обработан, так как значение по умолчанию для параметра «Legalentity» не может быть retrived. Исключение получение «Legalentity»: выражение должно быть читаемым Имя параметра: выражение

, и я понятия не имею, что производит эту ошибку ..

Спасибо за любую помощь! Код ниже ..

[Cmdlet(VerbsCommon.Get, "Deals")] 
public partial class GetDealCmdlet : InsightBaseCmdlet 
{ 
    private List<Object> _legalentities = new List<Object>(); 
    [Parameter(Position = 0, Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)] 
    public List<Object> Legalentity { set { _legalentities = value; } } 


    protected override void ProcessRecord() {...} 
} 

и использование:

Search-Deals xxx | Get-Deals 

, где поиск-предложения являются:

... 

protected override void ProcessRecord() 
{ 
    foreach (PSObject in List<PSObject>) 
    { 
     .... 
     writeObject(PSObject); 
    } 
} 
+0

Возможный дубликат [cmdlet говорит, что параметр не может быть получен: выражение должно быть доступно для чтения] (http://stackoverflow.com/questions/15888909/cmdlet-says-parameter-cannot-be-retrieved-expression-must-be- удобочитаемый) – Troyen

ответ

0

поместить поглотитель в открытом списке Legalentity {множество {_legalentities = значение ; }} решит эту проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^