**** Merged from MCS ****
[mono-project.git] / mcs / class / Microsoft.VisualBasic / Test / standalone / 12316.vb
blobc023d09be0e3a5c38b3d5380b577690e0563b3ef
2 ' Copyright (c) 2002-2003 Mainsoft Corporation.
4 ' Permission is hereby granted, free of charge, to any person obtaining a
5 ' copy of this software and associated documentation files (the "Software"),
6 ' to deal in the Software without restriction, including without limitation
7 ' the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 ' and/or sell copies of the Software, and to permit persons to whom the
9 ' Software is furnished to do so, subject to the following conditions:
11 ' The above copyright notice and this permission notice shall be included in
12 ' all copies or substantial portions of the Software.
14 ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 ' IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 ' FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 ' AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 ' LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 ' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 ' DEALINGS IN THE SOFTWARE.
24 Imports Microsoft.VisualBasic
25 Public Class TestClass
27 'the Visual Basic compiler calls every function in every expression.
28 'This means that you cannot rely on a particular function not being called
29 'if the other argument is selected by Expression
30 Private m_value As String
32 Public Function Test() As String
33 Dim i As Integer
34 i = 1001
35 Return IIf(i > 1000, foo1, foo2)
36 End Function
37 Public Function foo1() As String
38 m_value = m_value & "foo1"
39 Return m_value & "TruePart"
40 End Function
41 Public Function foo2() As String
42 m_value = m_value & "foo2"
43 Return m_value & "FalsePart"
44 End Function
45 End Class