Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med partiella metoder kan utvecklare infoga anpassad logik i kod. Vanligtvis är koden en del av en designergenererad klass. Partiella metoder definieras i en partiell klass som skapas av en kodgenerator, och de används ofta för att meddela att något har ändrats. De gör det möjligt för utvecklaren att ange anpassat beteende som svar på ändringen.
Designern av kodgeneratorn definierar endast metodsignaturen och ett eller flera anrop till metoden. Utvecklare kan sedan tillhandahålla implementeringar för metoden om de vill anpassa beteendet för den genererade koden. När ingen implementering tillhandahålls tas anrop till metoden bort av kompilatorn, vilket inte resulterar i några ytterligare prestandakostnader.
Deklaration
Den genererade koden markerar definitionen av en partiell metod genom att placera nyckelordet Partial i början av signaturraden.
Partial Private Sub QuantityChanged()  
End Sub  
Definitionen måste uppfylla följande villkor:
Metoden måste vara
Sub, inte enFunction.Metodens brödtext måste lämnas tom.
Åtkomstmodifieraren måste vara
Private.
Genomförande
Implementeringen består främst av att fylla i brödtexten i den partiella metoden. Implementeringen är vanligtvis i en separat partiell klass från definitionen och skrivs av en utvecklare som vill utöka den genererade koden.
Private Sub QuantityChanged()  
'    Code for executing the desired action.  
End Sub  
I föregående exempel dupliceras signaturen i deklarationen exakt, men variationer är möjliga. I synnerhet kan andra modifierare läggas till, till exempel Overloads eller Overrides. Endast en Overrides modifierare tillåts. Mer information om metodmodifierare finns i Underuttryck.
Använd
Du anropar en partiell metod som vilken annan Sub procedur. Om metoden har implementerats utvärderas argumenten och metodens brödtext körs. Kom dock ihåg att det är valfritt att implementera en partiell metod. Om metoden inte implementeras har ett anrop till den ingen effekt och uttryck som skickas som argument till metoden utvärderas inte.
Exempel
I en fil med namnet Product.Designer.vb definierar du en Product klass som har en Quantity egenskap.
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
I en fil med namnet Product.vb anger du en implementering för QuantityChanged.
Partial Class Product
    Private Sub QuantityChanged()
        MsgBox("Quantity was changed to " & Me.Quantity)
    End Sub
End Class
Slutligen deklarerar du en Product instans i main-metoden för ett projekt och anger ett initialt värde för dess Quantity egenskap.
Module Module1
    Sub Main()
        Dim product1 As New Product With {.Quantity = 100}
    End Sub
End Module
En meddelanderuta ska visas som visar det här meddelandet:
Quantity was changed to 100