Partial (Visual Basic)

Indica che una dichiarazione di tipo è una definizione parziale del tipo.

Si può dividere la definizione di un tipo tra più dichiarazioni mediante la parola chiave Partial. Si può usare il numero di dichiarazioni parziali desiderato, in un numero qualsiasi di file di origine differenti. Tutte le dichiarazioni, tuttavia, devono trovarsi nello stesso assembly e nello stesso spazio dei nomi.

Nota

Visual Basic supporta i metodi parziali, che in genere vengono implementati nelle classi parziali. Per altre informazioni, vedere Metodi parziali e Istruzione Sub.

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 Facoltativo. Elenco degli attributi applicabili al tipo. È necessario racchiudere l'elenco degli attributi tra parentesi angolari (< >).
accessmodifier Facoltativo. Specifica il tipo di codice che può accedere al tipo. Vedere Access levels in Visual Basic.
Shadows Facoltativo. Vedere Shadows.
MustInherit Facoltativo. Vedere MustInherit.
NotInheritable Facoltativo. Vedere NotInheritable.
name Obbligatorio. Nome del tipo. Deve corrispondere al nome definito in tutte le altre dichiarazioni parziali dello stesso tipo.
Of Facoltativo. Specifica che si tratta di un tipo generico. Vedere Tipi generici in Visual Basic.
typelist Obbligatorio se si usa Of. Vedere Elenco tipi.
Inherits Facoltativo. Vedere Istruzione Inherits.
classname Obbligatorio se si usa Inherits. Nome della classe o dell'interfaccia da cui deriva la classe.
Implements Facoltativo. Vedere Istruzione Implements.
interfacenames Obbligatorio se si usa Implements. Nomi delle interfacce implementate dal tipo.
variabledeclarations Facoltativo. Istruzioni che dichiarano variabili ed eventi aggiuntivi per il tipo.
proceduredeclarations Facoltativo. Istruzioni che dichiarano e definiscono routine aggiuntive per il tipo.
End Class oppure End Structure Termina questa definizione Class o Structure parziale.

Osservazioni:

Visual Basic usa definizioni di classi parziali per separare il codice generato dal codice creato dall'utente in file di origine distinti. Ad esempio, Progettazione Windows Form definisce classi parziali per controlli come Form. In questi controlli il codice generato non deve essere modificato.

Durante la creazione di un tipo parziale vengono applicate tutte le regole per la creazione delle classi, delle strutture, delle interfacce e dei moduli, ad esempio quelle relative all'uso dei modificatori e all'ereditarietà.

Consigli per iniziare

  • In condizioni normali, non è consigliabile suddividere lo sviluppo di un singolo tipo in due o più dichiarazioni. Pertanto, nella maggior parte dei casi non occorre specificare la parola chiave Partial.

  • Per migliorare la leggibilità, ogni dichiarazione parziale di un tipo deve includere la parola chiave Partial. Il compilatore consente che la parola chiave venga omessa al massimo in una dichiarazione parziale. Se viene omessa in due o più dichiarazioni, viene segnalato un errore.

Comportamento

  • Unione delle dichiarazioni. Il compilatore considera il tipo come l'unione di tutte le relative dichiarazioni parziali. Ogni modificatore di ciascuna definizione parziale si applica all'intero tipo e ogni membro di ciascuna definizione parziale è disponibile per l'intero tipo.

  • Promozione tipo non consentita per i tipi parziali nei moduli. Se una definizione parziale si trova all'interno di un modulo, l'effetto della promozione tipo di tale tipo viene automaticamente annullato. In questo caso, un set di definizioni parziali può generare risultati imprevisti e persino errori del compilatore. Per altre informazioni, vedere Promozione tipo.

    Il compilatore unisce le definizioni parziali solo se i relativi percorsi completi sono identici.

È possibile usare la parola chiave Partial nei contesti seguenti:

Istruzione Class

Istruzione Structure

Esempio

L'esempio seguente suddivide la definizione della classe sampleClass in due dichiarazioni, ognuna delle quali definisce una routine Sub differente.

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 possono trovarsi nello stesso file di origine o in due file di origine differenti.

Vedi anche