Я где-то видел что-то вроде следующего, и мне было интересно, что это значит. Я знаю, что они являются геттерами и сеттерами, но я хочу знать, почему строка Type определяется следующим образом. Спасибо за помощь.
public string Type { get; set; }
Это Автоматически реализуемые свойства (для краткости автоматические свойства).
Компилятор автоматически сгенерирует эквивалент следующей простой реализации:
private string _type; public string Type { get { return _type; } set { _type = value; } }
Это авто-свойство , и это сокращенная запись для этого:
private string type; public string Type { get { return this.type; } set { this.type = value; } }
В C # 6:
Теперь можно объявить авто-свойства просто как поле:
public string FirstName { get; set; } = "Ropert";
Авто-свойства только для чтения
public string FirstName { get;} = "Ropert";
ничем не отличается от того, что делает
private string _Type; public string Type { get { return _Type; } set { _Type = value; } }
Это означает, что компилятор определяет вспомогательное поле во время выполнения.Это синтаксис для автоматически реализуемых свойств.
Дополнительная информация: Автоматически реализованные свойства
Это автоматически поддерживаемое свойство, в основном эквивалентное
private string type; public string Type { get{ return type; } set{ type = value; } }
Это так называемые авто свойства.
http://msdn.microsoft.com/en-us/library/bb384054.aspx
Функционально (и с точки зрения скомпилированного IL) они такие же, как свойства с полями поддержки.
Я знаю, что это старый вопрос, но с выпуском C # 6 теперь вы можете сделать что-то подобное для частных свойств.
public constructor() { myProp = "some value"; } public string myProp { get; }