C# -> VB.Net 中的 RaiseEvent
C# -> RaiseEvent in VB.Net
我在 VB.Net 中使用 TweetInvi 很开心,不幸的是我在将此代码转换为 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();
谢谢。
事实上,您并不是想引发一个事件,而是订阅一个。不幸的是,将该代码转换为 VB.NET 时出现的 IntelliSense 错误有点误导。
在事件方面,C# 的 +=
运算符等于 Delegate.Combine()
which adds another delegate to an event's subscribers list (list of event handlers). A Delegate
只是一个 class 持有另一个方法的指针。委托用于提供一种通过代码传递和调用方法的简单方法。
引用 documentation:
The +=
operator is also used to specify a method that will be called in response to an event; such methods are called event handlers. The use of the +=
operator in this context is referred to as subscribing to an event.
要订阅 VB.NET 中的事件,您必须使用 AddHandler
statement,其语法为:
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 及更低版本...我也喜欢将它放在那里以更清楚地说明哪些语句可以一起使用,哪些不能。
我在 VB.Net 中使用 TweetInvi 很开心,不幸的是我在将此代码转换为 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();
谢谢。
事实上,您并不是想引发一个事件,而是订阅一个。不幸的是,将该代码转换为 VB.NET 时出现的 IntelliSense 错误有点误导。
在事件方面,C# 的 +=
运算符等于 Delegate.Combine()
which adds another delegate to an event's subscribers list (list of event handlers). A Delegate
只是一个 class 持有另一个方法的指针。委托用于提供一种通过代码传递和调用方法的简单方法。
引用 documentation:
The
+=
operator is also used to specify a method that will be called in response to an event; such methods are called event handlers. The use of the+=
operator in this context is referred to as subscribing to an event.
要订阅 VB.NET 中的事件,您必须使用 AddHandler
statement,其语法为:
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 及更低版本...我也喜欢将它放在那里以更清楚地说明哪些语句可以一起使用,哪些不能。