この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フレームワークバージョン(2.0,3.0,3.5)でチェックしました。
Foo()をBaseクラスに移動します。 –