Подтвердить что ты не робот

С#: getter/setter

Я видел что-то вроде следующего где-то, и задавался вопросом, что это значит. Я знаю, что они - получатели и сеттеры, но хотят знать, почему строка Type определяется так. Спасибо, что помогли мне.

public string Type { get; set; }
4b9b3361

Ответ 1

Это Автореализованные свойства (для краткости Auto Properties).

Компилятор будет автоматически генерировать эквивалент следующей простой реализации:

private string _type;

public string Type
{
    get { return _type; }
    set { _type = value; }
}

Ответ 2

Это авто-свойство, и это сокращенная запись для этого:

private string type;
public string Type
{
  get { return this.type; }
  set { this.type = value; }
}

Ответ 3

public string Type { get; set; } 

Иначе не работает

private string _Type;

public string Type
{    
get { return _Type; }
set { _Type = value; }
}

Ответ 4

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

Дополнительная информация: Автореализованные свойства

Ответ 5

В С# 6:

Теперь можно объявить авто-свойства как поле:

public string FirstName { get; set; } = "Ropert";

Авто-свойства только для чтения

public string FirstName { get;} = "Ropert";

Ответ 6

Свойство автоматически поддерживаемого, в основном эквивалентное

private string type;
public string Type
{
   get{ return type; }
   set{ type = value; }
}

Ответ 7

Они называются автоматическими свойствами.

http://msdn.microsoft.com/en-us/library/bb384054.aspx

Функционально (и в терминах скомпилированного IL), они являются такими же, как свойства с полями поддержки.

Ответ 8

Я знаю, что это старый вопрос, но с выпуском С# 6 теперь вы можете сделать что-то подобное для частных свойств.

public constructor()
{
   myProp = "some value";
}

public string myProp { get; }