Partial (Visual Basic)
Označuje, že deklarace typu je částečnou definicí typu.
Definici typu můžete rozdělit mezi několik deklarací pomocí klíčového Partial slova . Můžete použít tolik částečných deklarací, kolik chcete, v tolika různých zdrojových souborech, kolik chcete. Všechny deklarace však musí být ve stejném sestavení a stejném oboru názvů.
Poznámka
Visual Basic podporuje částečné metody, které jsou obvykle implementovány v částečných třídách. Další informace najdete v tématu Částečné metody a Dílčí příkaz.
Syntax
[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ variabledeclarations ]
[ proceduredeclarations ]
{ End Class | End Structure }
Součásti
| Pojem | Definice |
|---|---|
attrlist |
Nepovinný parametr. Seznam atributů, které se vztahují na tento typ. Seznam atributů musíte uzavřít do hranatých závorek ( < > ). |
accessmodifier |
Nepovinný parametr. Určuje, jaký kód má k tomuto typu přístup. Viz Úrovně přístupu v Visual Basic. |
Shadows |
Nepovinný parametr. Viz Stíny. |
MustInherit |
Nepovinný parametr. Viz MustInherit. |
NotInheritable |
Nepovinný parametr. Viz NotInheritable. |
name |
Povinná hodnota. Název tohoto typu. Musí odpovídat názvu definovanému ve všech ostatních částečných deklaracích stejného typu. |
Of |
Nepovinný parametr. Určuje, že se jedná o obecný typ. Viz Obecné typy v Visual Basic. |
typelist |
Vyžaduje se, pokud použijete . Viz Seznam typů. |
Inherits |
Nepovinný parametr. Viz Příkaz Inherits. |
classname |
Vyžaduje se, pokud používáte Inherits . Název třídy nebo rozhraní, ze kterého je tato třída odvozena. |
Implements |
Nepovinný parametr. Viz Implements – příkaz. |
interfacenames |
Vyžaduje se, pokud používáte Implements . Názvy rozhraní, která tento typ implementuje. |
variabledeclarations |
Nepovinný parametr. Příkazy, které deklarují další proměnné a události pro typ. |
proceduredeclarations |
Nepovinný parametr. Příkazy, které deklarují a definují další postupy pro typ. |
End Class nebo End Structure |
Ukončí tuto část Class nebo Structure definici. |
Poznámky
Visual Basic používá definice částečné třídy k oddělení generovaného kódu od kódu vytvořeného uživatelem v samostatných zdrojových souborech. Například návrhář formulářů Windows částečné třídy pro ovládací prvky, jako je Form . Vygenerovaný kód v těchto ovládacích prvcích byste neměli upravovat.
Všechna pravidla pro vytvoření třídy, struktury, rozhraní a modulu, například pravidla pro použití modifikátorů a dědičnost, se použijí při vytváření částečného typu.
Osvědčené postupy
Za normálních okolností byste neměli rozdělit vývoj jednoho typu mezi dvě nebo více deklarací. Proto ve většině případů klíčové slovo
Partialnepotřebujete.Pro lepší čitelnost by každá částečná deklarace typu měla obsahovat klíčové
Partialslovo . Kompilátor umožňuje, aby nejúplnější deklarace klíčové slovo vynechála. Pokud dva nebo více vy vynechat, kompilátor signalizuje chybu.
Chování
Sjednocené deklarace. Kompilátor považuje typ za sjednocené všechny jeho částečné deklarace. Každý modifikátor z každé částečné definice se vztahuje na celý typ a každý člen z každé částečné definice je k dispozici pro celý typ.
Povýšení typu není povolené pro částečné typy v modulech. Pokud je částečná definice uvnitř modulu, povýšení typu tohoto typu je automaticky pohotové. V takovém případě může sada částečných definic způsobit neočekávané výsledky a dokonce i chyby kompilátoru. Další informace najdete v tématu Povýšení typu.
Kompilátor sloučí částečné definice pouze v případě, že jsou jejich plně kvalifikované cesty identické.
Klíčové Partial slovo lze použít v těchto kontextech:
Příklad
Následující příklad rozdělí definici třídy do dvou deklarací, z nichž každá sampleClass definuje jinou Sub proceduru.
Partial Public Class sampleClass
Public Sub sub1()
End Sub
End Class
Partial Public Class sampleClass
Public Sub sub2()
End Sub
End Class
Dvě částečné definice v předchozím příkladu mohou být ve stejném zdrojovém souboru nebo ve dvou různých zdrojových souborech.