NET 专家...您如何将这个 block 转换为 VB?
this.timer = new System.Timers.Timer(100);
this.timer.Elapsed+=new System.Timers.ElapsedEventHandler(ManageThreads);
this.timer.Start();
当我使用在线转换器(Telerik)时,中间一行转换成这样:
Me.timer.Elapsed += New System.Timers.ElapsedEventHandler(ManageThreads)
有 2 个错误: 1-》public eventElapsed是一个事件,不能直接调用。使用raiseEvent 2- 委托(delegate)需要一个 Adess Of 表达式。我只是添加“Address Of”吗?
热烈欢迎任何线索。
最佳答案
C# 和 VB.NET 之间添加事件处理程序的语法非常不同,正如您所发现的,Telerik 不能很好地处理这种差异。
C# 添加处理程序语法:
<object>.<event> += <event_handler_function>
VB 添加处理程序语法:
add handler <object>.<event>, addressof <event_handler_function>
在使用 VB 事件处理时,您可能会遇到另一个问题:您为其添加事件处理程序的对象必须在类范围内声明。例如。您不能将处理程序添加到本地创建的对象(在方法中)并将其返回或将其添加到集合中。因此,当您需要动态执行操作时,您基本上拥有一个类级别的临时变量。
祝你好运。
关于c# - C# 和 VB.NET 之间的事件处理差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4219446/