对此SO问题:What is the C# equivalent of friend?,我个人会回答“内部”,就像Ja在答案中做的那样!然而,Jon Skeet说C#中没有VB Friend的直接等价关系。如果乔恩Skeet这样说,我不会是另一个告诉! ,PC#内部VS VBNET朋友
我想知道如何可以关键字internal(C#)不是Friend(VBNET)相当于当它们各自的定义如下:
所述的Friend (Visual Basic)关键字声明语句指定可以从同一个程序集内访问元素,但不能从程序集外部访问元素。 [...]
Internal:访问被限制的当前组件。
据我的理解,这些定义对我来说意义相当。
然后,分别地,当我在VB.NET中编写代码时,我使用Friend关键字指定类或属性只能在声明它的程序集内可访问。在C#中,我使用内部的关键字指定相同。
我从这个角度做了什么或者什么事吗?
我没有得到什么改进?
可能有人请解释如何或在什么朋友和内部不是直接等价?
在此先感谢您的任何答案!
我想我被“朋友”关键字弄糊涂了。特别是在读过Ja的“内部”答案之后,并且说这是不正确的。所以,在说.NET时两者是等价的,对吧?这是什么InternalsVisibleToAttribute的东西? – 2010-05-07 18:20:40
@ will:对不起,你是对的 - VB中的朋友确实相当于C#中的内部。这个问题并不正确,因为问题不在于VB。虽然我会在这里编辑我的答案:)为了记录,InternalsVisibleTo是关于一个组件被允许访问另一个组件的内部成员。 – 2010-05-07 18:22:38
+1感谢Jon的回答,以及其他评论过的人。 – 2010-05-07 18:23:05