Részleges (Visual Basic)

Azt jelzi, hogy a típusdeklaráció a típus részleges definíciója.

Egy típus definícióját több deklaráció között oszthatja el a Partial kulcsszó használatával. Tetszőleges számú részleges deklarációt használhat tetszőleges számú forrásfájlban. Az összes deklarációnak azonban ugyanabban a szerelvényben és névtérben kell lennie.

Feljegyzés

A Visual Basic támogatja a részleges metódusokat, amelyek általában részleges osztályokban vannak implementálva. További információ: Részleges metódusok és alutasítás.

Syntax

[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _  
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]  
    [ Inherits classname ]  
    [ Implements interfacenames ]  
    [ variabledeclarations ]  
    [ proceduredeclarations ]  
{ End Class | End Structure }  

Részek

Időszak Definíció
attrlist Opcionális. Az ilyen típusú attribútumok listája. Az attribútumlistát szögletes zárójelek közé kell foglalnia (< >).
accessmodifier Opcionális. Megadja, hogy milyen kód férhet hozzá ehhez a típushoz. Lásd a Visual Basic hozzáférési szintjeinek megtekintését.
Shadows Opcionális. Lásd: Árnyékok.
MustInherit Opcionális. Lásd: MustInherit.
NotInheritable Opcionális. Lásd: NotInheritable.
name Szükséges. Ennek a típusnak a neve. Meg kell egyeznie az azonos típusú többi részleges deklarációban megadott névvel.
Of Opcionális. Megadja, hogy ez egy általános típus. Lásd: Általános típusok a Visual Basicben.
typelist Az Of használata esetén kötelező. Lásd: Típuslista.
Inherits Opcionális. Lásd: Öröklési utasítás.
classname Kötelező a használata esetén Inherits. Annak az osztálynak vagy felületnek a neve, amelyből az osztály származik.
Implements Opcionális. Lásd: Implements Utasítás.
interfacenames Kötelező a használata esetén Implements. Az ilyen típusú illesztők nevei.
variabledeclarations Opcionális. A típushoz további változókat és eseményeket deklaráló utasítások.
proceduredeclarations Opcionális. A típushoz további eljárásokat deklaráló és definiáló utasítások.
End Class vagy End Structure Ezzel a részleges Class vagy Structure definícióval végződik.

Megjegyzések

A Visual Basic részleges osztálydefiníciókkal választja el a létrehozott kódot a felhasználó által létrehozott kódtól külön forrásfájlokban. A Windows űrlap Tervező például részleges osztályokat határoz meg az olyan vezérlőkhöz, mint a Form. Ezekben a vezérlőkben nem szabad módosítani a létrehozott kódot.

Az osztály, a struktúra, a felület és a modullétrehozás minden szabálya, például a módosító használat és az öröklés szabályai érvényesek egy részleges típus létrehozásakor.

Ajánlott eljárások

  • Normál körülmények között ne ossza fel egyetlen típus fejlesztését két vagy több deklarációra. Ezért a legtöbb esetben nincs szüksége a kulcsszóra Partial .

  • Az olvashatóság érdekében egy típus minden részleges deklarációjának tartalmaznia kell a kulcsszót Partial . A fordító legfeljebb egy részleges deklarációt tesz lehetővé a kulcsszó kihagyásához; ha két vagy több kihagyja, a fordító hibát jelez.

Működés

  • Nyilatkozatok uniója. A fordító a típust az összes részleges deklaráció egyesítésének tekinti. Minden részleges definíció minden módosítója a teljes típusra vonatkozik, és minden részleges definíció minden tagja elérhető a teljes típus számára.

  • A modulok részleges típusaihoz nem engedélyezett a típus-előléptetés. Ha egy részleges definíció egy modulban található, az adott típus előléptetése automatikusan meghiúsul. Ilyen esetben a részleges definíciók nem várt eredményeket, sőt fordítóhibákat is okozhatnak. További információ: Típus-előléptetés.

    A fordító csak akkor egyesít részleges definíciókat, ha azok teljes elérési útjai azonosak.

A Partial kulcsszó a következő kontextusokban használható:

Osztályutasítás

Struktúrautasítás

Példa

Az alábbi példa az osztály sampleClass definícióját két deklarációra osztja, amelyek mindegyike eltérő Sub eljárást határoz meg.

Partial Public Class sampleClass
    Public Sub sub1()
    End Sub
End Class
Partial Public Class sampleClass
    Public Sub sub2()
    End Sub
End Class

Az előző példában szereplő két részleges definíció lehet ugyanabban a forrásfájlban vagy két különböző forrásfájlban.

Lásd még