Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
'<derivedtypename>' cannot inherit from <type> '<constructedbasetypename>' because it expands the access of type '<internaltypename>' outside the assembly
Una classe o un'interfaccia derivata tenta di espandere il livello di accesso di un tipo ristretto utilizzandolo come argomento di tipo per una classe o un'interfaccia base.
Il seguente codice può generare questo errore.
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
Il codice all'esterno dell'assembly non può accedere a restrictedStructure. L'accesso all'oggetto derivedClass, tuttavia, è consentito a qualsiasi codice che può farvi riferimento. Di conseguenza, derivedClass non può ereditare da baseClass se utilizza restrictedStructure come argomento di tipo perché altrimenti restrictedStructure verrebbe esposta al codice in qualsiasi assembly.
ID errore: BC30922
Per correggere l'errore
Modificare i livelli di accesso delle classi o delle interfacce in modo che il tipo derivato non espanda il livello di accesso del tipo ristretto.
-oppure-
Se non è possibile modificare i livelli di accesso, non utilizzare il tipo ristretto come argomento di tipo quando si costruisce la classe o l'interfaccia base.
Vedere anche
Concetti
Nozioni fondamentali sull'ereditarietà
Livelli di accesso in Visual Basic