Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Schnittstellen beschreiben die Merkmale von Eigenschaften, Methoden und Ereignissen, überlassen die Implementierungsdetails jedoch den Strukturen oder Klassen.
In dieser exemplarischen Vorgehensweise wird das Deklarieren und Implementieren einer Schnittstelle veranschaulicht.
Hinweis
Diese exemplarische Vorgehensweise enthält keine Informationen zum Erstellen einer Benutzeroberfläche.
Hinweis
Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren der IDE.
Öffnen Sie ein neues Visual Basic-Windows-Anwendungsprojekt.
Fügen Sie dem Projekt ein neues Modul hinzu, indem Sie im Menü Projekt auf Modul hinzufügen klicken.
Geben Sie dem neuen Modul den Namen Module1.vb
, und klicken Sie auf Hinzufügen. Der Code für das neue Modul wird angezeigt.
Definieren Sie eine Schnittstelle namens TestInterface
innerhalb von Module1
, indem Sie zwischen den Anweisungen Module
und End Module
Interface TestInterface
eingeben und dann die EINGABETASTE drücken. Der Code-Editor zieht das Schlüsselwort Interface
ein und fügt eine End Interface
-Anweisung hinzu, um einen Codeblock zu bilden.
Definieren Sie eine Eigenschaft, eine Methode und ein Ereignis für die Schnittstelle, indem Sie den folgenden Code zwischen den Anweisungen Interface
und End Interface
platzieren:
Property Prop1() As Integer
Sub Method1(ByVal X As Integer)
Event Event1()
Möglicherweise stellen Sie fest, dass sich die Syntax, die zum Deklarieren von Schnittstellenmembern verwendet wird, von der Syntax unterscheidet, die zum Deklarieren von Klassenmembern verwendet wird. Dieser Unterschied spiegelt die Tatsache wider, dass Schnittstellen keinen Implementierungscode enthalten können.
Fügen Sie eine Klasse namens ImplementationClass
hinzu, indem Sie die folgende Anweisung zu Module1
hinzufügen, hinter der End Interface
-Anweisung, aber vor der End Module
-Anweisung, und drücken Sie dann die EINGABETASTE:
Class ImplementationClass
Wenn Sie in der integrierten Entwicklungsumgebung (IDE) arbeiten, stellt der Code-Editor eine passende End Class
-Anweisung bereit, wenn Sie die EINGABETASTE drücken.
Fügen Sie die folgende Implements
-Anweisung zu ImplementationClass
hinzu, die der von der Klasse implementierte Schnittstelle einen Namen gibt:
Implements TestInterface
Wenn die Implements
-Anweisung getrennt von anderen Elementen am Anfang einer Klasse oder Struktur aufgeführt wird, zeigt dies an, dass die Klasse oder Struktur eine Schnittstelle implementiert.
Wenn Sie in der integrierten Entwicklungsumgebung (IDE) arbeiten, implementiert der Code-Editor die Klassenmember, die für TestInterface
erforderlich sind, wenn Sie die EINGABETASTE drücken. Sie können dann den nächsten Schritt überspringen.
Wenn Sie nicht in der integrierten Entwicklungsumgebung (IDE) arbeiten, müssen Sie alle Member der Schnittstelle MyInterface
implementieren. Fügen Sie den folgenden Code zu ImplementationClass
hinzu, um Event1
, Method1
und Prop1
zu implementieren:
Event Event1() Implements TestInterface.Event1
Public Sub Method1(ByVal X As Integer) Implements TestInterface.Method1
End Sub
Public Property Prop1() As Integer Implements TestInterface.Prop1
Get
End Get
Set(ByVal value As Integer)
End Set
End Property
Die Implements
-Anweisung benennt die Schnittstelle und den Schnittstellenmember, die implementiert werden.
Schließen Sie die Definition von Prop1
ab, indem Sie der Klasse, die den Eigenschaftswert gespeichert hat, ein privates Feld hinzufügen:
' Holds the value of the property.
Private pval As Integer
Geben Sie den Wert des pval
aus dem get-Accessor der Eigenschaft zurück.
Return pval
Legen Sie den Wert von pval
im get-Accessor der Eigenschaft fest.
pval = value
Schließen Sie die Definition von Method1
ab, indem Sie den folgenden Code hinzufügen.
MsgBox("The X parameter for Method1 is " & X)
RaiseEvent Event1()
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Startformular für Ihr Projekt, und klicken Sie dann auf Code anzeigen. Der Editor zeigt die Klasse für Ihr Startformular an. Standardmäßig heißt das Startformular Form1
.
Fügen Sie der Form1
-Klasse das folgende testInstance
-Feld hinzu:
Dim WithEvents testInstance As TestInterface
Wenn Sie testInstance
als WithEvents
deklarieren, kann die Form1
--Klasse ihre Ereignisse behandeln.
Fügen Sie der Form1
-Klasse den folgenden Ereignishandler hinzu, um Ereignisse zu behandeln, die von testInstance
ausgelöst werden:
Sub EventHandler() Handles testInstance.Event1
MsgBox("The event handler caught the event.")
End Sub
Fügen Sie der Form1
-Klasse eine Unterroutine namens Test
hinzu, um die Implementierungsklasse zu testen:
Sub Test()
' Create an instance of the class.
Dim T As New ImplementationClass
' Assign the class instance to the interface.
' Calls to the interface members are
' executed through the class instance.
testInstance = T
' Set a property.
testInstance.Prop1 = 9
' Read the property.
MsgBox("Prop1 was set to " & testInstance.Prop1)
' Test the method and raise an event.
testInstance.Method1(5)
End Sub
Die Test
-Prozedur erstellt eine Instanz der Klasse, die MyInterface
implementiert, weist dem testInstance
-Feld diese Instanz zu, legt eine Eigenschaft fest und führt eine Methode über die Schnittstelle aus.
Fügen Sie Code hinzu, um die Test
-Prozedur aus der Form1 Load
-Prozedur Ihres Startformulars aufzurufen:
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Test() ' Test the class.
End Sub
Drücken Sie F5, um die Test
-Prozedur auszuführen. Die Meldung „Prop1 wurde auf 9 festgelegt“ wird angezeigt. Nachdem Sie auf „OK“ geklickt haben, wird die Meldung „Der X-Parameter für Method1 ist 5“ angezeigt. Klicken Sie auf „OK“, und die Meldung „Der Ereignishandler hat das Ereignis abgefangen“ wird angezeigt.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Discover interfaces - Training
In this module, you learn how to design an interface with properties in C#, develop a class that implements the interface, and formulate property definitions within the interface.
Dokumentation
Weitere Informationen: Schnittstellen (Visual Basic)
Module-Anweisung - Visual Basic
Weitere Informationen: Module-Anweisung
Objektorientiertes Programmieren - Visual Basic
Weitere Informationen: Objektorientierte Programmierung (Visual Basic)