provider.OptionsSet += delegate
{
provider.FinishedLoading();
};
provider.OptionsSet += Function() Do
provider.FinishedLoading()
End Function
This is taken from http://www.developerfusion.com/tools/convert/csharp-to-vb/, so I haven't tested it. It might be more helpful if you were able to provide more context. What is this being used for?
Pete Brown has also has an example with inline sub:
http://10rem.net/blog/2010/04/16/tip-anonymous-event-handlers-in-vbnet
Nice demonstration how converters get this dramatically wrong, they have for a long time. The += operator isn't VB.NET syntax, AddHandler is required to subscribe events. Where the Do comes from is anybody's guess. The lambda can't be a Function, except for the very rare cases where the delegate type returns a value. Three bugs in one line, you don't stand a chance. You need VS2010 to write a Sub lambda. Like this:
Module Module1
Sub Main()
Dim obj As New Test
AddHandler obj.example, Sub(sender As Object, e As EventArgs)
'' etc...
End Sub
End Sub
End Module
Class Test
Public Event example As EventHandler
End Class
For earlier versions, you'll need a little non-anonymous helper method. Like this:
AddHandler obj.example, AddressOf helper
...
Sub helper(ByVal sender As Object, ByVal e As EventArgs)
'' etc..
End Sub
Human 1, machine 0.