【问题标题】:Parameterattribute default value (C# cmdlet) in PowerShellPowerShell 中的参数属性默认值 (C# cmdlet)
【发布时间】:2011-06-23 07:03:35
【问题描述】:

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

脚本 cmdlet:

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

C# 的等价物是什么?

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

【问题讨论】:

    标签: c# powershell cmdlets


    【解决方案1】:

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

    类似这样的:

    private string _ParameterName = "defaultvalue";
    
    [Parameter]
    public string ParameterName 
    {
         get
         {
              return _ParameterName ;
         }
         set
         {
             _ParameterName  = value;
         }
    }
    

    【讨论】:

    • 谢谢。也许它太明显了......我也可以用自动实现来做到这一点,只需将它们设置在构造函数中。
    • 是的,为什么不...我在您展示的示例的上下文中回答了问题
    【解决方案2】:

    自 C# 6.0 发布以来:

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

    【讨论】:

      猜你喜欢
      • 2020-04-07
      • 2017-03-07
      • 2016-01-30
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 2013-12-02
      • 2017-01-08
      • 2012-04-07
      相关资源
      最近更新 更多