Copied remotely
[mono.git] / mcs / mbas / Test / tests / DelegateA.vb
1 Imports System
2
3 Module M
4         Delegate Sub SD()
5         sub f()
6                 System.Console.WriteLine("s called")
7         End sub
8
9         Public Delegate Function SF(a as integer) as Integer
10         Public Function f1(a as integer) as Integer
11                 System.Console.WriteLine("f1 called")
12                 return a
13         End Function
14
15         Public Function TD(d as SD) as Integer
16                 d.Invoke()
17         End Function
18
19         Sub Main()
20                 dim d1 as SD 
21                 d1 = new SD(AddressOf f)
22                 d1.Invoke()
23
24                 dim d2 as SD
25                 d2 = AddressOf f 
26                 d2.Invoke()
27
28                 dim d3 as new SD(AddressOf f)
29                 d3.Invoke()
30
31                 dim d4 as SF
32                 d4 = new SF(AddressOf f1)
33                 Dim i as Integer = d4.Invoke(10)
34                 if i <> 10 then
35                         Throw new System.Exception ("#A1, Unexpected result")
36                 end if
37
38                 TD(AddressOf f)
39                 
40         End Sub
41 End Module