2013-12-21 2 views
0

Есть ли способ определить свойство и установить его значение в одном выражении?Задание начального значения свойства в его объявлении

Я ищу что-то вроде этого:

public bool isConnected = false { get; private set; } 
+2

Нет вам не может, хотя 'false' является значением по умолчанию для' bool' ти. – Lee

+0

Следуя тому, что сказал Ли, [все примитивные типы изначально заданы значениями по умолчанию] (http://msdn.microsoft.com/en-us/library/83fhsxwc.aspx). Строка имеет значение NULL, как и любые свойства, которые вы создаете для своих собственных классов. –

+0

@Lee я предпочитаю инициализировать все вары, даже если они имеют значение по умолчанию –

ответ

1

не существует способа определить свойство ans установить его значение в одном из утверждений в C#. вы можете использовать поле подложки для свойства

private bool backingField = false; 
public bool prop{get{return backingField;} set{backingField = value;}} 

или

инициализации свойства внутри constuctor

class class1 
{ 
public bool prop{get; private set;} 
public class1() 
{prop = false;} 
} 

или просто использовать поле

public bool prop = false 
+0

Для меня лучший способ - инициализировать свойство внутри constuctor. Спасибо за помощь. –

3

No.

Однако, вы можете использовать поле подкладочный с инициализаторе:

public bool IsConnected 
{ 
    get { return isConnected; } 
    private set { isConnected = value; } 
} 
private bool isConnected = false; // which is, in fact, a bool's default value 

Если вы по каким-либо причинам не хотят использовать явные поля поддержки, вы всегда можете инициализировать свойство в конструкторе класса. С другой стороны, в приведенном выше примере можно было бы вообще избегать частного сеттера и использовать поле поддержки во всем классе.


Обратите внимание, что это обычная практика, чтобы использовать UpperCamelCase для представителей общественности.

Смежные вопросы