* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / mbas / Test / tests / expressions / ExpressionInstanceMyClassA.vb
1 'Author: Ritvik Mayank <mritvik@novell.com>
2 'Copyright (C) 2005 Novell, Inc (http://www.novell.com)
3 'MyClass behaves like an object variable referring to the current instance of a class as originally implemented.
4
5 Imports System
6
7         Class BaseClass
8                 Public i As Integer
9                 Public Overridable Sub MyMethod(i)
10                         if i <> 100 then 
11                                 Throw New Exception ("Unexpected Behavior Expected 100 but got i = "&i )
12                         End If          
13                 End Sub
14                 Public Sub UseMyClass(i)
15                 MyClass.MyMethod(i)   
16                 End Sub
17         End Class
18         
19         Class DerivedClass : Inherits BaseClass
20                 Public Overrides Sub MyMethod(i)
21                 i = 50
22                                 Throw New Exception ("Unexpected Behavior.MyMethod should always call member of BaseClass. It should never call the DerivedClass")
23                 End Sub
24         End Class
25
26 Module Test 
27         Sub Main() 
28                 Dim TestObj As DerivedClass = New DerivedClass()
29               TestObj.UseMyClass(100)
30         End Sub
31 End Module
32