1

爲什麼某些組件/控件在使用訪問修飾符Friend和聲明爲Protected的情況下聲明時,不會在子窗體中以可視方式繼承。VB.NET可視的繼承:朋友VS受保護

例如,我在我的父窗體中有一個最初是「朋友」的DataSet對象(我將它拖放到表單中,所以它在設計器視圖中顯示爲一個控件),但我注意到了我的子表單沒有按預期繼承控件。一旦我將其更改爲「受保護」,就會按照預期顯示在我的「孩子」表單中。

我知道Protected允許子窗體修改繼承的控件,但這與上面描述的問題有什麼關係?

+1

我不知道這個問題的答案,但是(如果你還沒有意識到),如果你希望它是一個朋友並且在繼承的控件中可見,那麼你可以使它成爲一個'受保護的朋友「來獲得訪問修飾符的效果。 – 2010-06-18 17:26:51

+0

謝謝,我知道。我真的不需要它是類型的朋友,Protected實際上是我正在尋找的訪問,我只是不明白爲什麼它的工作方式。 – Overhed 2010-06-18 17:32:49

回答

1

它取決於聲明基礎形式的組件。如果這是另一個程序集比衍生的形式生活然後Friend無法工作。聲明Friend的成員只能在同一個程序集內進行訪問。

受保護的是此處適當的訪問修飾符。它確保在聲明派生形式的組件中無關緊要。並確保只有派生的表單類可以訪問數據集。