그래서 StyleCop 규칙을 통해 모든 코드를 수정하고 SA1401 FieldsMustBePrivate를 많이 사용합니다. 나는 그것을 이해하고 그것을 구현하는 데 정말로 능숙했습니다. . . 일종의. 우리가 항상 해왔 던 한 가지는 변수를 보호하고 속성을 제공하는 것입니다. 이것은 기본 클래스에서 상속받은 클래스가 변수 자체에 액세스 할 수 있지만 상속 체인 외부의 클래스는 속성을 통해 값에 액세스해야합니다.상속을위한 보호 된 변수 (StyleCop SA1401)
상속 체인 외부의 클래스가 값을 수정할 수 없도록 기본 클래스가 속성에 setter를 제공하지 않고 상속 된 클래스의 변수 값을 설정해야하는 경우에 특히 유용합니다. SA1401 문제를 "고치는"방법으로 찾을 수있는 것은 상속 된 클래스에서 설정해야하므로 설정할 수있는 속성 값을 열어 놓는 것이므로 설정하기를 원하지 않습니다.
값을 설정 한 다음 값을 설정할 수없는 "새"공용 속성을 만들 수있는 기본 클래스에 보호 된 속성을 만들 수 있다고 가정합니다.하지만 그 속성을 만들면됩니다. 모든 상속 된 클래스에 대한 "새로운"public 속성.
생각하십니까?
public SomeType SomeProperty { get; protected set; }
속성은 공개적으로 다음 getTable이 있지만 클래스와 하위 클래스에 의해서만 설정 가능 :
잘 했어, 나는 이것이 가능하다는 것을 전혀 몰랐다 !! 영원히 C#에서 일하고 있었고 방금 새로운 것을 배웠습니다. – Chris