2011-06-15 21 views
2

好吧,我有一些关于FriendProtected 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 

我想知道什么为t他知道classA_One的成员。我相信:

  • memberPub是随处可见
  • memberPriv只能在classA_One
  • memberProt可以classA_One可以看出,classAB_One可以看出,和classAD_One

我不是什么肯定是classA_One的其他两名成员的知名度。

有人可以帮助我吗?

TIA。

回答

2

Friend:表示它可以被组件中的任何类型访问,没有人引用你的程序集将能够看到它。

Protected Friend:表示该类型只能由派生成员访问,或者您的程序集类型不是派生的,或者程序集的一部分不能访问它。

memberFri:是访问classAB_one和所有其他装配类

memberProFri:是classAB_one访问,但不是在classC_one

+0

唉唉,谢谢!现在我掌握了一般意义:) – pepoluan 2011-06-15 06:50:30