Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Parameterattribute default value (C# cmdlet) in PowerShell

I'm designing a cmdlet using plain C#. Is it possible to define a default value for a parameter?

Script cmdlet:

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

Which is the equivalent for C#?

[Parameter]
public string ParameterName { get; set; }
like image 654
fra Avatar asked Feb 08 '11 08:02

fra


2 Answers

With auto-implemented properties, you can't. You will need to create the actual getter and setter.

Something like this:

private string _ParameterName = "defaultvalue";

[Parameter]
public string ParameterName 
{
     get
     {
          return _ParameterName ;
     }
     set
     {
         _ParameterName  = value;
     }
}
like image 191
Shekhar_Pro Avatar answered Oct 05 '22 07:10

Shekhar_Pro


Since C# 6.0 has been released:

[Parameter]
public string ParameterName { get; set; } = "defaultValue";
like image 24
isxaker Avatar answered Oct 05 '22 08:10

isxaker