powershell参数分配默认值(C#cmdlet)

fra*_*fra 7 c# powershell cmdlets

我正在使用普通的C#设计一个cmdlet.是否可以为参数定义默认值?

脚本cmdlet:

[Parameter] [string] $ParameterName = "defaultValue"
Run Code Online (Sandbox Code Playgroud)

哪个是C#的等价物?

[Parameter]
public string ParameterName { get; set; }
Run Code Online (Sandbox Code Playgroud)

谢谢?

She*_*Pro 8

使用自动实现的属性,您不能.您需要创建实际的getter和setter.

像这样的东西:

private string _ParameterName = "defaultvalue";

[Parameter]
public string ParameterName 
{
     get
     {
          return _ParameterName ;
     }
     set
     {
         _ParameterName  = value;
     }
}
Run Code Online (Sandbox Code Playgroud)


isx*_*ker 8

自 C# 6.0 发布以来:

[Parameter]
public string ParameterName { get; set; } = "defaultValue";
Run Code Online (Sandbox Code Playgroud)