한 걸음 더 나아가서 3 가지 사례를 가져 왔습니다. 각각에 변형이 있지만 이것은 C # 프로그래밍시 대부분의 시간을 사용하는 규칙입니다.
2 & 3의 경우 항상 필드 접근자가 아닌 속성 접근 자로 이동하십시오. 그리고 1 번의 경우에, 당신은이 선택을해야 할 필요가 없습니다.
1.) 불변 속성 (생성자에게 전달되거나 생성시 생성됨). 이 경우 읽기 전용 속성과 함께 필드 변수를 사용합니다. 개인 세터가 불변성을 보장하지 않기 때문에 개인 세터보다 이것을 선택합니다.
public class Abc
{
private readonly int foo;
public Abc(int fooToUse){
foo = fooToUse;
}
public int Foo { get{ return foo; } }
}
2.) POCO 변수. 모든 공개 / 개인 범위에서 가져 오거나 설정할 수있는 간단한 변수입니다. 이 경우 자동 속성을 사용합니다.
public class Abc
{
public int Foo {get; set;}
}
3.) ViewModel 바인딩 속성. INotifyPropertyChanged를 지원하는 클래스의 경우 개인 지원 필드 변수가 필요하다고 생각합니다.
public class Abc : INotifyPropertyChanged
{
private int foo;
public int Foo
{
get { return foo; }
set { foo = value; OnPropertyChanged("foo"); }
}
}