가 가끔과 같이 읽기 전용 멤버로 정의 된 클래스를 참조 읽기 전용 특성 :읽기 전용 필드 대
class Foo
{
public Foo(string bar)
{
Bar = bar;
}
public string Bar { get; private set; }
}
두 번째 예 :
class Foo
{
private readonly string bar;
public Foo(string bar)
{
this.bar = bar;
}
public string Bar => bar;
}
나는과 같이 읽기 전용 멤버로 정의 된 클래스를 참조하십시오 다른 시간 더 읽기 쉽거나 간결하게 보입니다.하지만 첫 번째 예제에 따라 readonly
뒷받침 필드를 명시 적으로 정의하는 합법적 인 이유가 있는지 궁금합니다.
CLR에서 두 가지 사례에 대한 심층적 인 분석을 통해 이상적인 내용을 다루고 있습니다.
실제로 두 번째 버전은 매우 다릅니다. 동등한 버전은'public string Bar {get;}'일 것입니다. 당신이'public string Bar {get; 개인 집합; }'는 읽기 전용이 아니며 공개적으로 설정할 수 없습니다. –
Scott, 귀하의 의견은 답변이어야합니다. 선생님. – Trey
첫 번째 예가 나를 위해 컴파일되지 않습니다. – user1620220