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.
22 Imports Microsoft.VisualBasic
23 Public Class TestClass
24 'the Visual Basic compiler calls every function in every expression.
25 'This means that you cannot rely on a particular function not being called
26 'if the other argument is selected by Expression
27 Private m_value As String
28 Public Function Test() As String
31 Return IIf(i > 1000, foo1, foo2)
33 Public Function foo1() As String
34 m_value = m_value & "foo1"
35 Return m_value & "TruePart"
37 Public Function foo2() As String
38 m_value = m_value & "foo2"
39 Return m_value & "FalsePart"