참고 : 이것은 C #을 시작할 때 게시되었습니다. 2014 년 지식을 바탕으로 자동 속성은 C # 언어에서 일어난 최고의 일 중 하나라고 진정으로 말할 수 있습니다.
개인 및 공용 필드를 사용하여 C #에서 속성을 만드는 데 익숙합니다.
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
이제 .NET 3.0에서는 자동 속성이 생겼습니다.
public string Title { get; set; }
나는 이것이 철학적 / 주관적인 질문이라는 것을 알고 있지만 각 필드에 대해 5 줄의 코드를 저장하는 것 외에는 이러한 자동 속성을 사용하는 이유가 있습니까? 내 개인적인 불만은 그 속성이 내게 물건을 숨기고 있고 나는 흑 마법의 열렬한 팬이 아니라는 것입니다.
실제로 숨겨진 private 필드는 디버거에 표시되지도 않습니다. get / set 함수가 아무 작업도하지 않는다는 사실을 감안하면 괜찮습니다. 그러나 실제로 getter / setter 로직을 구현하려면 어쨌든 private / public 쌍을 사용해야합니다.
나중에 getter / setter 논리를 변경할 수있는 기능을 잃지 않고 많은 코드 (1 줄 대 6 줄)를 저장하는 이점을 알 수 있습니다. 그러나 다시 한 번, 간단히 public 필드를 "Public string Title"없이 선언하여이를 수행 할 수 있습니다. {get; 세트; } 블록, 따라서 더 많은 코드를 절약 할 수 있습니다.
그래서 내가 여기서 무엇을 놓치고 있습니까? 왜 누군가 실제로 자동 속성을 사용하고 싶습니까?