2013-05-08 2 views
4

Ну до сих пор, самый короткий код, который я видел, чтобы объявить свойство, которое может быть установлено только внутри класса, который я видел это:Простой синтаксис объявления свойства с начальным значением

public T Property {get; private set;} 

Но что, если я хочу объявить его уже со стартовым значением (которое не является значением по умолчанию для этого типа), как я мог это сделать?

На самом деле я это делаю:

public T Property {get; private set;} 
private void Initialize() {Property = Value; } 

Другой вариант:

private T _Property = Value; 
public property {get {return _Property;}} 

Но мне интересно, если я могу написать, что только с одной строки кода, потому что я буду написав многие из этих свойств, и я не хочу иметь дублирующую строку для каждого.

+1

Как насчет использования класса ctor для инициализации значений prop? –

+0

Было бы одинаково, две строки на каждое свойство. Это приведет к ошибкам кодирования, когда класс станет большим. –

+0

Инициализация вызовов конструктора. Я отделил его из-за многих перегрузок конструкторов, требующих определенной последовательности. –

ответ

4

Nope. Авто-свойства всегда по умолчанию по умолчанию.

Ваш лучший выбор - установить их в конструкторе или просто не использовать авто-свойство.

public T Property {get; private set;} 
public MyClass() { 
    Property = Value; 
} 
Смежные вопросы