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.
Indica che una dichiarazione di tipo è una definizione parziale del tipo.
È possibile dividere la definizione di un tipo tra più dichiarazioni usando la Partial parola chiave . È possibile usare tutte le dichiarazioni parziali desiderate, in tutti i file di origine diversi desiderati. Tuttavia, tutte le dichiarazioni devono trovarsi nello stesso assembly e nello stesso spazio dei nomi.
Annotazioni
Visual Basic supporta metodi parziali, che vengono in genere implementati in classi parziali. Per altre informazioni, vedere Metodi parziali e istruzione secondaria.
Sintassi
[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ variabledeclarations ]
[ proceduredeclarations ]
{ End Class | End Structure }
Parti
| Termine | Definizione |
|---|---|
attrlist |
Opzionale. Elenco di attributi applicabili a questo tipo. È necessario racchiudere l'elenco attributi tra parentesi angolari (< >). |
accessmodifier |
Opzionale. Specifica il codice che può accedere a questo tipo. Vedere Livelli di accesso in Visual Basic. |
Shadows |
Opzionale. Vedi Ombre. |
MustInherit |
Opzionale. Vedere MustInherit. |
NotInheritable |
Opzionale. Vedere NotInheritable. |
name |
Obbligatorio. Nome di questo tipo. Deve corrispondere al nome definito in tutte le altre dichiarazioni parziali dello stesso tipo. |
Of |
Opzionale. Specifica che si tratta di un tipo generico. Vedere Tipi generici in Visual Basic. |
typelist |
Obbligatorio se si usa Of. Vedere Elenco dei tipi. |
Inherits |
Opzionale. Vedere L'istruzione Inherits. |
classname |
Obbligatorio se si usa Inherits. Nome della classe o dell'interfaccia da cui deriva questa classe. |
Implements |
Opzionale. Vedere l'istruzione Implements. |
interfacenames |
Obbligatorio se si usa Implements. I nomi delle interfacce implementate da questo tipo. |
variabledeclarations |
Opzionale. Istruzioni che dichiarano variabili ed eventi aggiuntivi per il tipo. |
proceduredeclarations |
Opzionale. Istruzioni che dichiarano e definiscono procedure aggiuntive per il tipo. |
End Class o End Structure |
Termina questa definizione o Structure parzialeClass. |
Osservazioni:
Visual Basic usa definizioni di classi parziali per separare il codice generato dal codice creato dall'utente in file di origine separati. Ad esempio, Progettazione Windows Form definisce classi parziali per controlli come Form. Non è consigliabile modificare il codice generato in questi controlli.
Tutte le regole per la creazione di classi, struttura, interfaccia e modulo, ad esempio quelle per l'utilizzo e l'ereditarietà del modificatore, si applicano durante la creazione di un tipo parziale.
Migliori pratiche
In circostanze normali, non è consigliabile suddividere lo sviluppo di un singolo tipo tra due o più dichiarazioni. Pertanto, nella maggior parte dei casi non è necessaria la
Partialparola chiave .Per la leggibilità, ogni dichiarazione parziale di un tipo deve includere la
Partialparola chiave . Il compilatore consente al massimo una dichiarazione parziale di omettere la parola chiave; se due o più omettono il compilatore segnala un errore.
Comportamento
Unione di dichiarazioni. Il compilatore considera il tipo come l'unione di tutte le dichiarazioni parziali. Ogni modificatore di ogni definizione parziale si applica all'intero tipo e ogni membro di ogni definizione parziale è disponibile per l'intero tipo.
Innalzamento di livello non consentito per i tipi parziali nei moduli. Se una definizione parziale si trova all'interno di un modulo, la promozione del tipo viene automaticamente sconfitta. In questo caso, un set di definizioni parziali può causare risultati imprevisti e persino errori del compilatore. Per altre informazioni, vedere Promozione dei tipi.
Il compilatore unisce definizioni parziali solo quando i percorsi completi sono identici.
La Partial parola chiave può essere usata in questi contesti:
Esempio
Nell'esempio seguente la definizione della classe sampleClass viene suddivisa in due dichiarazioni, ognuna delle quali definisce una routine diversa Sub .
Partial Public Class sampleClass
Public Sub sub1()
End Sub
End Class
Partial Public Class sampleClass
Public Sub sub2()
End Sub
End Class
Le due definizioni parziali nell'esempio precedente potrebbero trovarsi nello stesso file di origine o in due file di origine diversi.