好的,我对Friend
和Protected Friend
限定词感到头疼。我到处读的信息对我来说就像是法律语言。有些人比较简单的法律语言,但仍然是法律语言。
所以,我将尝试在伪VB中提供一个思想框架:
假设我有 AssemblyOne :
Public Class classA_One
Public memberPub
Private memberPriv
Protected memberProt
Friend memberFri
ProtectedFriend memberProFri
End Class
Public Class classAB_One
Inherits classA_One
...
End Class
Public Class classC_One
Dim objA_One as classA_One
End Class
其他人(大专)接受我生成的.dll,引用它,然后创建 AssemblyTwo :
Public Class ClassAD_Two
Inherits classA_One
...
End Class
Public Class classE_Two
Dim objA_One as classA_One
End Class
我想知道的是classA_One
成员的知名度。我确信:
memberPub
随处可见memberPriv
只能在classA_One
memberProt
,classA_One
和classAB_One
中可以看到classAD_One
我不确定classA_One
的其他两名成员的可见度。
有人可以帮助我吗?
TIA。
答案 0 :(得分:2)
Friend
:表示组件内的任何类型都可以访问它,没有人引用你的程序集就能看到它。
Protected Friend
:表示该类型只能由派生成员访问,或者您的程序集类型未派生或不是程序集的一部分将无法访问它。
memberFri:可以访问classAB_one,也可以访问程序集类中的所有其他内容
memberProFri:可以访问classAB_one但不能访问classC_one