Was ist der Unterschied zwischen Ereignissen in VB und C #?

8

Ich bin ein VB-Programmierer, der meinen Weg in C # geht. Ich habe gelernt, Ereignisse in Vb zu erstellen und zu erhöhen und stelle fest, dass es in C # nicht genauso gemacht wird. Ist jemand auf einen Artikel gestoßen, der mir hilft zu verstehen, wie man Ereignisse in C # macht und vielleicht erklärt, warum es in VB anders ist.

Danke

    
Mike Murphy 30.03.2010, 16:54
quelle

5 Antworten

6
Kyle Rozendo 30.03.2010, 16:58
quelle
1

Der Hauptunterschied besteht in der verwendeten Syntax. Darunter verwenden sie genau die gleichen Mechanismen innerhalb der CLR.

VB.NET bietet jedoch eine spezielle Syntax über WithEvents und Handles , so dass Sie Folgendes tun können:

%Vor%

C # bietet kein Equivalent - alle Ereignisse müssen explizit über event += subskribiert werden, was eher der AddHandler -Anweisung von VB.NET entspricht.

    
Reed Copsey 30.03.2010 17:02
quelle
0

Der Unterschied ist meist syntaktisch.

Siehe diese praktische Referenz zu den Unterschieden.

Der Event-Handler in VB.NET wird mit dem Schlüsselwort Handling deklariert, das an die Signatur des Event-Handlers angehängt wird. In C # müssen Sie es mit += registrieren.

In VB.NET rufen Sie das Ereignis mit RaiseEvent auf, in C # rufen Sie den Delegaten direkt auf.

    
Oded 30.03.2010 16:58
quelle
0

Lesen von:

Ссылка

  

Ein Ereignis in C # ist eine Möglichkeit für eine Klasse   Bereitstellung von Benachrichtigungen an Kunden von   diese Klasse als etwas Interessantes   passiert mit einem Objekt. Am meisten   vertrauter Gebrauch für Ereignisse ist in   grafische Benutzeroberflächen; typischerweise,   die Klassen, die Steuerelemente darstellen   die Schnittstelle hat Ereignisse, die sind   benachrichtigt, wenn der Benutzer etwas unternimmt   an das Steuerelement (klicken Sie beispielsweise auf a   Knopf).

     

Ereignisse müssen jedoch nicht nur verwendet werden   für grafische Benutzeroberflächen. Veranstaltungen   bieten eine allgemein nützliche Möglichkeit für   Objekte, die den Status signalisieren, ändern das   kann für Kunden von Nutzen sein   Objekt. Ereignisse sind wichtig   Baustein zum Erstellen von Klassen   das kann in einer großen Anzahl wiederverwendet werden   von verschiedenen Programmen.

Siehe den Artikel für den Rest.

    
Roberto Aloi 30.03.2010 17:00
quelle
0

Eine gute, schnelle allgemeine Referenz für einige wichtige Unterschiede in der Syntax finden Sie hier . Suchen Sie nach "Ereignissen", um zu diesem Abschnitt zu gelangen.

Die Hauptunterschiede bestehen darin, dass Sie in VB nur einige Schlüsselwörter anstelle von Addition / Subtraktion verwenden müssen, um Ereignisse zu verkabeln, aber Sie ein handles Schlüsselwort erhalten, das automatisch eine Routine an ein Ereignis bindet. Und wenn Sie einen Delegaten übergeben, müssen Sie ein sinnloses AddressOf-Schlüsselwort verwenden. (Sorry für das Editorial, aber ich denke, dass dieses Keyword mehr Verwirrung verursacht als es spart!)

    
Patrick Karcher 30.03.2010 17:02
quelle

Tags und Links