2017-08-29 10 views
-3

私はVB.NetでTweetInviを楽しんでいます。私はこのコードをVB.Netに変換することに問題があります。私はまだ初心者で、RaiseEventに関する情報を得ようとしていましたが、できませんでした。ここにコードがあります。私はボタンイベントでこれを実行したい:VB.NetのRaiseEvent

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(); 

ありがとう。

+0

あなたはこれを試してみることができます - > http://converter.telerik.com/ –

+0

** Related **:[VB.netでRaiseEventをどのようにすることができますか?](https://stackoverflow.com/質問/ 7805496/how-can-i-raiseevent-in-vb-net?rq = 1)??あなたが何を求めているのかは全く分かりません。 [質問する]を読んで[ツアー]をしてください...少なくとも、あなたはおもしろいです – Plutonix

+0

クレイジー、私は試してみましたが、今回は助けになりません。 私はグーグルが言ったようにプルトニックは、私はRaiseEventについてのStackOverflowを読むが、私はまだ理解していない。 – dwarfmine

答えて

-1

実際のところ、あなたはイベント昇給しようとしていないが、は1つにをサブスクライブします。そのコードをVB.NETに変換するときに得られるIntelliSenseエラーは、残念ながら少し誤解を招きます。

イベントに関して、C#の+=演算子は、イベントのサブスクライバリスト(イベントハンドラのリスト)に別のデリゲートを追加するDelegate.Combine()に等しいです。 Delegateは、単に別のメソッドのポインタを保持するクラスです。デリゲートは、コードを渡してメソッドを呼び出す簡単な方法を提供するために使用されます。

引用documentation

+=オペレータは、イベントに応答して呼び出されるメソッドを指定するために使用されます。そのようなメソッドはイベントハンドラと呼ばれます。この文脈における+=演算子の使用は、というイベントにサブスクライブすると呼ばれます。あなたは構文ですAddHandler statementを、使用奨めVB.NETでのイベントにサブスクライブする

です:

したがって
AddHandler <event to subscribe to>, <method to be invoked when the event occurs> 

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 

- アンダースコア(_)の端にされますコンパイラに次の行を続けるよう伝える方法です。 VB.NETの新しいバージョンでは、これは必須ではありませんが、VS 2008とそれ以下を使用する人がいますが、どちらのステートメントが一緒になっていないのかを明確にすることもできます。

+0

ありがとう!それが動作するように見えます。 – dwarfmine

+2

良い答えですが、***あなたは***これらの質問に答えることで分かっているはずの話題です。 OP ***がうまくいかないものを投稿したら***、それは助けてくれるのが適切でしょう...あなたの答えのほとんどは既にここで何度も説明されています。なぜもっと必要なのでしょうか? Plutonixはこれを説明するリンクを掲載しましたが、私は質問をしましたが、OPからの答えはありませんでした。 – Codexer

+0

@dwarfmine:私は助けてくれると嬉しく思います。あなたの問題を解決したら、左のチェックマークを押して、私の答えを「受け入れた」とマークしてください。 –