Imports System Module M Delegate Sub SD() sub f() End sub Public Delegate Function SF(a as integer) as Integer Public Function f1(a as integer) as Integer return a End Function Sub Main() dim d1 as SD d1 = new SD(AddressOf f) d1.Invoke() 'dim d2 as SD 'd2 = AddressOf f ''//this invocation is not functional yet 'd2.Invoke() dim d3 as new SD(AddressOf f) d3.Invoke() dim d4 as SF d4 = new SF(AddressOf f1) Dim i as Integer = d4.Invoke(10) if i <> 10 then Throw new System.Exception ("#A1, Unexpected result") end if End Sub End Module