I have following code i need to convert to VB.NET. Problem is every translation tool I found is converting the add handler part wrong. I don't seem to be able to do it by myself.
FtpClient ftpClient = new FtpClient();
ftpClient.UploadProgressChanged += new EventHandler<UploadProgressChangedLibArgs>(ftpClient_UploadProgressChanged);
ftpClient.UploadFileCompleted += new EventHandler<UploadFileCompletedEventLibArgs>(ftpClient_UploadFileCompleted);
There are two different ways to associate event handler methods with an event in VB.NET.
The first involves the use of the
Handles
keyword, which you append to the end of the event handler method's definition. For example:The first method is much simpler if you've already got separately defined event handler methods anyway (i.e., if you're not using a lambda syntax). I would recommend it whenever possible.
The second involves the explicit use of the
AddHandler
statement, just like+=
in C#. This is the one you need to use if you want to associate event handlers dynamically, e.g. if you need to change them at run time. So your code, literally converted, would look like this:Like you said, I tried running your code through Developer Fusion's converter and was surprised to see that they were returning invalid VB.NET code:
Turns out, that's a known bug that might be worth voting for!