Secondo MSDN:Declare ottenere di accesso a PowerShell parametri del cmdlet
"Parametri devono essere dichiarati su campi non statici pubblici o proprietà I parametri devono essere dichiarati sulle proprietà La proprietà deve avere un set pubblico.. accessor e se è specificata la parola chiave ValueFromPipeline o ValueFromPipelineByPropertyName, la proprietà deve disporre di un accesso pubblico di accesso. "
Perché devo dichiarare get accessors nei parametri del mio cmdlet ValueFromPipeline
? Per quanto ne so, PowerShell deve solo inserire i loro valori, non leggerli. Grazie (comunque sono solo curioso di questo comportamento :)).
Sembra strano. Posso solo supporre che si tratti di un artefatto di implementazione (ad esempio, leaky astrazione): seguire il codice quando si tratta di convalide e conversioni di tipo applicate alle proprietà dei parametri mostra che l'elaborazione non è semplice. D'altra parte ho raramente usato qualcosa di diverso da una proprietà automatica con set pubblico e non riesco a pensare a una circostanza in cui vorrei qualcos'altro. – Richard