Here:
manager.PieceHashed += Sub(o As Object, e As PieceHashedEventArgs)
End Sub
You cannot ask such questions every time you need to translate something. Here is the Web tool you can use:
http://www.developerfusion.com/tools/convert/csharp-to-vb/[
^].
Besides — please see my comment to the question — I'm not sure such translation makes sense in all cases. Perhaps you simply should understand that you can freely mix up project written in different .NET languages in any .NET solution. You can just develop separate assemblies in different languages, especially if you want to use some available code, and then you can
reference some assembly in some other assembly; this is the way to use a referenced assembly as a library.
—SA