일관성 없는 액세스 가능성: 'xxx' 속성 형식이 'yyy' 속성보다 액세스 하기 어렵습니다.
에러 코드의 예
^ File A ^
|
namespace T1 {
public class MainWindow {
ASomeList mSomeList = new ASomeList(); // 에러(!)
public ASomeList RealSomeList { get { return mSomeList; } }
}
}
|
^ File B ^
|
namespace T1 {
class ASomeList {
// ...
}
}
|
이유 : ASomeList 클래스가 public 이 아니다. c#에서는 **클래스도 접근 권한이 있다는 걸** 종종 까먹는다.
* [[https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/class|c# class 키워드 명세]]
네임스페이스 내에서 직접 선언되는 클래스는 public 또는 internal 일 수 있다. 기본은 internal 이다.