閱讀英文

共用方式為


'<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

更正這個錯誤

  • 請調整類別或介面的存取層級,讓衍生類型不會展開受限類型的存取層級。

    -或-

  • 如果您不能調整存取層級,請勿在建構基底類別或介面時使用受限類型作為類型引數。

另請參閱