2011-02-08 22 views
6

Sto progettando un cmdlet utilizzando il semplice C#. È possibile definire un valore predefinito per un parametro?parametro powershellattributo valore predefinito (cmdlet C#)

cmdlet Script:

[Parameter] [string] $ParameterName = "defaultValue" 

che è l'equivalente per C#?

[Parameter] 
public string ParameterName { get; set; } 

Grazie?

risposta

8

Con proprietà autoattive, non è possibile. Sarà necessario creare il getter e il setter effettivi.

Qualcosa di simile a questo:

private string _ParameterName = "defaultvalue"; 

[Parameter] 
public string ParameterName 
{ 
    get 
    { 
      return _ParameterName ; 
    } 
    set 
    { 
     _ParameterName = value; 
    } 
} 
+1

Grazie. Forse era troppo ovvio ... Potrei farlo anche con l'auto-implementazione, semplicemente impostandoli nel costruttore. – fra

+0

sì certo perché no ... ho risposto nel contesto dell'esempio che hai mostrato nella domanda –

+1

e tu mi hai dato il suggerimento giusto ... grazie! – fra

0

Dal c# 6.0 è stato realeased

[Parameter] 
public string ParameterName { get; set; } = "defaultValue"; 
Problemi correlati