[c#] c # : 게터 / 세터

어딘가에서 다음과 같은 것을 보았고 그것이 무엇을 의미하는지 궁금했습니다. 나는 그들이 게터와 세터라는 것을 알고 있지만 문자열 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";


답변

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 측면에서) 지원 필드가있는 속성과 동일합니다.