Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A részleges metódusok lehetővé teszik a fejlesztők számára, hogy egyéni logikát szúrjanak be a kódba. A kód általában egy tervező által létrehozott osztály része. A részleges metódusok egy kódgenerátor által létrehozott részleges osztályban vannak definiálva, és gyakran használják őket, hogy értesítést adjanak arról, hogy valami módosult. Lehetővé teszik, hogy a fejlesztő egyéni viselkedést adjon meg a változásra válaszul.
A kódgenerátor tervezője csak a metódus aláírását és a metódus egy vagy több hívását határozza meg. A fejlesztők ezután implementációkat biztosíthatnak a metódushoz, ha testre szeretnék szabni a létrehozott kód viselkedését. Ha nincs implementáció megadva, a fordító eltávolítja a metódusra irányuló hívásokat, így nincs további teljesítményterhelés.
Nyilatkozat
A generált kód egy részleges metódus definícióját jelöli úgy, hogy a kulcsszót Partial az aláírási sor elején helyezi el.
Partial Private Sub QuantityChanged()
End Sub
A definíciónak meg kell felelnie a következő feltételeknek:
Az eljárásnak
Sub, és nemFunctionkell lennie.A metódus törzsét üresen kell hagyni.
A hozzáférési módosítónak a következőnek kell lennie
Private: .
Megvalósítás
A megvalósítás elsősorban a részleges módszer törzsének kitöltéséből áll. Az implementáció általában a definíciótól eltérő részleges osztályba tartozik, és egy fejlesztő írja, aki ki szeretné terjeszteni a létrehozott kódot.
Private Sub QuantityChanged()
' Code for executing the desired action.
End Sub
Az előző példa pontosan duplikálja az aláírást a deklarációban, de a változatok lehetségesek. Különösen más módosítók is hozzáadhatók, például OverloadsOverridesvagy . Csak egy Overrides módosító engedélyezett. A metódusmódosítókkal kapcsolatos további információkért lásd az alutasítást.
Használd
Egy részleges metódust meghívhat ugyanúgy, ahogyan bármely más Sub eljárást is. Ha a metódus implementálva van, a rendszer kiértékeli az argumentumokat, és végrehajtja a metódus törzsét. Ne feledje azonban, hogy a részleges módszer implementálása nem kötelező. Ha a metódus nincs implementálva, a hívásnak nincs hatása, és a metódusnak argumentumként átadott kifejezések nem lesznek kiértékelve.
példa
Egy Product.Designer.vb nevű fájlban definiáljon egy osztályt, amely rendelkezik egy Product tulajdonsággal.
Partial Class Product
Private _Quantity As Integer
Property Quantity() As Integer
Get
Return _Quantity
End Get
Set(ByVal value As Integer)
_Quantity = value
QuantityChanged()
End Set
End Property
' Provide a signature for the partial method.
Partial Private Sub QuantityChanged()
End Sub
End Class
Egy Product.vb nevű fájlban adjon meg egy implementációt a következőhöz QuantityChanged: .
Partial Class Product
Private Sub QuantityChanged()
MsgBox("Quantity was changed to " & Me.Quantity)
End Sub
End Class
Végül a projekt fő metódusában deklaráljon egy példányt Product , és adjon meg egy kezdeti értéket a tulajdonságához Quantity .
Module Module1
Sub Main()
Dim product1 As New Product With {.Quantity = 100}
End Sub
End Module
Megjelenik egy üzenetmező, amely megjeleníti ezt az üzenetet:
Quantity was changed to 100