저는 개발중인 앱을 검토 중이며 변경 불가능 성을 많이 사용합니다. 나는 getter 전용 자동 특성이 C# 6.0에 있음을 발견 했으므로이를 사용하도록 리팩터링하고 있습니다. 예를 들어 List<T>
개체로 다시 캐스팅 될 가능성을 피하기 위해 공개 속성을 통해 이라는 개체를 private IList<T>
개체로 노출하고있는 곳에서 하나의 가능한 물음표를 보았습니다.이 불변 속성을 자동 속성으로 변환 할 수 있습니까?
private IList<string> tags = new List<string>();
public IEnumerable<string> Tags => new ReadOnlyCollection<string>(this.tags);
사용자 정의 게터 이러한 유형의 자동 속성을 사용할 수있는 방법이 있습니까 ?
getter에 코드가 있기 때문에 자동 속성이 될 수 없습니다. 문제는 무엇이 잘못 되었습니까? 왜 자동 재산이 필요한가요? – Sinatr
자동 등록 정보가 아닌 * 일반적인 코드 스타일에 맞출 수 있을지 궁금했습니다. – James
* "일반 코드 스타일"* - 자동 속성 만 사용하거나 전체 속성 만 사용하는 것은 아닙니다. Btw, getter 만 속성 * immutable *을 호출하면 매번 무언가의 ** 새 인스턴스 **가 노출되면 잘못되었다고 느낍니다. 생성자에서 해당 속성을 초기화하는 것을 고려하면 실제로 자동 속성 (getter 만 사용 가능)을 사용할 수 있습니다. – Sinatr