'<derivedtypename>' 無法繼承自 <type> '<constructedbasetypename>',因為它會將型別 '<internaltypename>' 的存取展開到組件外
衍生的類別或介面嘗試使用受限類型作為基底類別或介面的類型引數,來展開受限類型的存取層級。
下列程式碼可能會產生此錯誤。
Public Class baseClass(Of t)
End Class
Public Class derivedClass
Inherits baseClass(Of restrictedStructure)
End Class
Friend Structure restrictedStructure
Dim firstMember As Integer
End Structure
在組件外的程式碼不允許存取 restrictedStructure
。 不過,可以從任何可參考 derivedClass
的程式碼存取它。 因此, derivedClass
無法繼承 baseClass
,如果它使用 restrictedStructure
作為類型引數的話,因為那可能將 restrictedStructure
公開給任何組件中的程式碼。
錯誤 ID︰ BC30922
請調整類別或介面的存取層級,讓衍生類型不會展開受限類型的存取層級。
-或-
如果您不能調整存取層級,請勿在建構基底類別或介面時使用受限類型作為類型引數。