Megosztás a következőn keresztül:


Részleges metódusok (Visual Basic)

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 nem Function kell 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

Lásd még