c#: геттер / сеттер



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



public string Type { get; set; }
406   8  

8 ответов:

это Автоматически Реализуемые Свойства (авто свойства для краткости).

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

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";
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 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; }

Comments

    Ничего не найдено.