2011-02-08 4 views
6

Я разрабатываю командлет с использованием простого C#. Можно ли определить значение по умолчанию для параметра?Значение параметра powershell параметра по умолчанию (C# cmdlet)

Командлет Сценарий:

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

который является эквивалентом для C#?

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

Спасибо?

ответ

8

С автоматически реализованными свойствами вы не можете. Вам нужно будет создать фактический геттер и сеттер.

Что-то вроде этого:

private string _ParameterName = "defaultvalue"; 

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

Спасибо. Возможно, это было слишком очевидно ... Я мог бы сделать это с помощью авто-реализации, просто установив их в конструкторе. – fra

+0

да, конечно, почему нет ... я ответил в контексте примера, который вы показали в вопросе –

+1

, и вы дали мне правильный намек ... спасибо! – fra

0

С c# 6.0 было Выпущенный

[Parameter] 
public string ParameterName { get; set; } = "defaultValue"; 
Смежные вопросы