2017-08-29 4 views
-3

Ich habe Spaß mit TweetInvi in ​​VB.Net, unzensiert habe ich Problem mit der Umwandlung dieses Codes in VB.Net. Ich bin immer noch Anfänger und ich habe versucht, einige Informationen über RaiseEvent zu bekommen, aber ich konnte es nicht tun. Hier ist Code. Ich möchte dies in Button-Ereignis ausführen:C# -> RaiseEvent in VB.Net

var stream = Stream.CreateFilteredStream(); 
stream.AddTrack("tweetinvi"); 
stream.MatchingTweetReceived += (sender, args) => 
{ 
    Console.WriteLine("A tweet containing 'tweetinvi' has been found; the tweet is '" + args.Tweet + "'"); 
}; 
stream.StartStreamMatchingAllConditions(); 

Vielen Dank.

+0

Sie könnten dies versuchen -> http://converter.telerik.com/ –

+0

Nummer zwei unter ** Verwandte **: [Wie kann ich RaiseEvent in VB.net] (https://stackoverflow.com/ Fragen/7805496/how-can-i-raisevent-in-vb-net? rq = 1) ?? Es ist überhaupt nicht klar, was Sie (arent) fragen. Bitte lies [frag] und nimm die [Tour] ... aber zumindest * du * hast Spaß – Plutonix

+0

Krazy, ich habe es ausprobiert und es hilft diesmal nicht. Plutonix wie ich sagte Ich googelte, ich lese StackOverflow über RaiseEvent, aber ich verstehe immer noch nicht. – dwarfmine

Antwort

-1

als eine Angelegenheit der Tatsache, dass Sie nicht zu raise ein Ereignis versucht, aber abonnieren zu eins. Der IntelliSense-Fehler, den Sie erhalten, wenn Sie diesen Code in VB.NET konvertieren, ist leider ein wenig irreführend.

In Bezug auf Ereignisse ist C# 's += Operator gleich Delegate.Combine(), die einen weiteren Delegaten zu einer Teilnehmerliste eines Ereignisses (Liste der Ereignishandler) hinzufügt. A Delegate ist einfach eine Klasse, die den Zeiger einer anderen Methode enthält. Delegierte werden verwendet, um eine einfache Methode zur Weitergabe und zum Aufrufen von Methoden über Code bereitzustellen.

unter Angabe des documentation:

+= Der Bediener wird auch verwendet, um ein Verfahren zu spezifizieren, die in Reaktion auf ein Ereignis aufgerufen werden; Solche Methoden heißen Event-Handler. Die Verwendung des Operators += in diesem Zusammenhang wird als bezeichnet, der ein Ereignis abonniert.

Veranstaltungen in VB.NET Sie die AddHandler statement verwenden, muss abonnieren, die die Syntax ist:

AddHandler <event to subscribe to>, <method to be invoked when the event occurs> 

So:

AddHandler stream.MatchingTweetReceived, _ 
    Sub(sender As Object, args As EventArgs) 
     Console.WriteLine("A tweet containing 'tweetinvi' has been found; the tweet is '" & args.Tweet & "'") 
    End Sub 

- Der Unterstrich (_) auf das Ende nur eine Möglichkeit, dem Compiler mitzuteilen, dass er in der nächsten Zeile weitermachen soll. In den neueren Versionen von VB.NET ist dies nicht notwendig, aber einige Leute benutzen immer noch VS 2008 und darunter ... Ich möchte es auch dort haben, um klarer zu machen, welche Aussagen zusammenpassen und welche nicht.

+0

Danke! Scheint so, als ob es funktioniert. – dwarfmine

+2

Gute Antwort, aber *** du *** sollte jetzt wissen, diese Fragen zu beantworten sind Off-Thema. Wenn das OP *** posten würde, was nicht funktioniert ***, dann wäre es angemessen zu helfen ... Fast alle deine Antworten wurden hier bereits SO oft erklärt, warum brauchen wir mehr? Plutonix postete einen Link, der das erklärte, ich stellte eine Frage, aber keine Antwort von OP ... – Codexer

+0

@dwarfmine: Ich bin froh, dass ich helfen konnte, und willkommen bei Stack Overflow!Bitte markieren Sie meine Antwort als "akzeptiert", indem Sie das Häkchen/Häkchen links davon drücken, wenn das Problem gelöst wurde. –