1

我目前正在做一个 VB.Net 项目,遇到了一些让我有点困惑的事情。所以我基本上有以下代码结构:

Public Class MainClass

    Private Class HiddenClass
    End Class

    Private Class ChildA
        Inherits From HiddenClass
    End Class

    Private Class ChildB
        Inherits From HiddenClass
    End Class

End Class

Public Class BuildingBlock

    Protected lbl As Label
    Protected btn As Button
    Protected main As New MainClass()

End Class

现在我从设置mainProtected. 具体来说,我得到的错误是:

'main' cannot expose type 'MainClass' outside the project through class 'BuildingBlock'

现在我用谷歌搜索了这个错误,发现解决方案是:

将变量、过程参数或函数返回的访问级别更改为至少与其数据类型的访问级别一样具有限制性。

所以,我把它改成了Public,一切都很好。但只是为了测试,我改为访问Private,FriendProtected Friend. Protected Friend仍然有我所期望的错误,但两者都Private没有Friend,即使它们的访问级别与数据类型的访问级别不同。

所以我想知道为什么我只会将此对象列为Protected,而不是在任何其他访问级别时才会收到此错误。

4

0 回答 0