이 post에 따르면 아래 코드는 컴파일해야하지만 그렇지 않은 경우 컴파일해야합니다.VB.NET에서 보호 된 멤버에 액세스
class Base
protected m_x as integer
end class
class Derived1
inherits Base
public sub Foo(other as Base)
other.m_x = 2
end sub
end class
class Derived2
inherits Base
end class
무엇이 문제입니까? 방금 새로운 VB.NET 콘솔 프로젝트를 만들고 코드를 복사하여 붙여 넣었습니다.
'SampleProject.Base.m_x'는 '보호됨'이며 다른 .NET Framework 버전 (2.0, 3.0 및 3.5)을 선택했기 때문에 'SampleProject.Base.m_x'에 액세스 할 수 없습니다.
Foo()를 Base 클래스로 이동하십시오. –