對此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