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
Property accessors cannot be declared '<accessmodifier>' in a 'NotOverridable' property
Un'Istruzione Get o Istruzione Set (Visual Basic) in una proprietà NotOverridable comprende la parola chiave Private.
Nella trattazione che segue viene spiegato perché la proprietà NotOverridable e la parola chiave Private non possono essere combinate in una Istruzione Property.
Una proprietà o una routine che non esegue l'override di una proprietà o di una routine di classe base è caratterizzata dall'impostazione predefinita NotOverridable.
Tuttavia, una proprietà o una routine di una classe derivata che esegue l'override di una proprietà o di una routine di classe base è caratterizzata dall'impostazione predefinita Overridable. Per terminare la gerarchia di override, è possibile dichiararla NotOverridable. Questo è il solo contesto in cui si può utilizzare la proprietà NotOverridable. In altre parole, NotOverridable può essere utilizzata soltanto in combinazione con Overrides.
Se una proprietà o una routine di classe base viene dichiarata Private (Visual Basic), una classe derivata non può eseguire l'override di quella proprietà o di quella routine in quanto non può accedervi. Questa è la ragione per cui la parola chiave Private non può essere utilizzata in combinazione con Overridable.
Per poter eseguire l'override di una proprietà o di una routine, la proprietà o la routine che lo esegue deve avere in comune con queste non solo una firma identica, ma anche il medesimo livello di accesso. Questo implica che una proprietà o una routine che esegue un override non può essere Private perché una proprietà o una routine di cui può essere eseguito l'override non può essere dichiarata Private.
Quindi, poiché la proprietà NotOverridable può essere dichiarata solo per una proprietà o una routine che esegue l'override, non è possibile combinarla con la parola chiave Private.
In base allo stesso ragionamento, le routine di proprietà individuali, vale a dire Get e Set, di una proprietà che esegue l'override non possono essere Private.
ID errore: BC31106
Per correggere l'errore
- Rimuovere la parola chiave Private dall'istruzione Get o Set, oppure rimuovere le parole chiave Overrides e NotOverridable dall'istruzione Property.
Vedere anche
Attività
Procedura: dichiarare una proprietà con livelli di accesso misto