NET大师......你怎么把这个大块转换成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-代表需要Adess Of表达。我只是添加“地址”吗?
任何线索都热烈欢迎。
答案 0 :(得分:6)
添加事件处理程序的语法在C#和VB.NET之间是非常不同的,因为您发现Telerik不能很好地处理这种差异。
C#添加处理程序语法:
<object>.<event> += <event_handler_function>
VB添加处理程序语法:
add handler <object>.<event>, addressof <event_handler_function>
VB事件处理可能会遇到另一个问题:您要添加事件处理程序的对象必须在类范围内声明。例如。您无法将处理程序添加到本地创建的对象(在方法中)并将其返回或添加到集合中。所以当你需要动态地做事时,你基本上有一个类级临时变量。
祝你好运。答案 1 :(得分:3)
奇怪的东西会返回这个转换器
尝试: AddHandler Me.timer.Elapsed,AddressOf ManageThreads
在.NET中动态添加和删除事件处理程序 http://www.thescarms.com/dotnet/EventHandler.aspx