보호 수준으로 인해 "액세스 할 수 없습니다"오류가 발생하는 이유는 무엇입니까?
이 오류가 발생합니다.'CTest.A.A()' is inaccessible due to its protection level.
이 코드를 컴파일 할 때 :
public class A
{
private A()
{
}
}
public class B : A
{
public void SayHello()
{
Console.WriteLine("Hello");
}
}
왜 그 이유를 설명 할 수 있습니까?
그러나 전체적인 이야기는 아닙니다. B가 추상 클래스 인 경우에도 동일한 컴파일 오류가 발생합니다. 추상 클래스에는 생성자가 없지만 B에서 파생 된 클래스 C가 동일한 문제를 가지므로 컴파일러는 여전히 규칙을 적용합니다. (C에서 파생 된 클래스가없는 경우에도 마찬가지입니다.) – yoyo