我有一个我想要有条件地调用的函数,具体取决于它是否为真/假:
If someFunction() = True Then
someFunction()
' Other code here...
End If
Private Function someFunction() As Boolean
MessageBox.Show("Function called!")
Return True
End Function
检查该功能是否为真,不合需要地调用该功能,以便两次显示消息框。
如何在不调用函数的情况下检查函数是否为真?
注意:除了运行的其他代码之外,我还需要我的函数返回true / false。
答案 0 :(得分:2)
根据定义你不能!
您可能需要将操作分为两部分:
可替换地, 只需调用该函数并让它完成一次工作,具体取决于" true / false"你要测试的条件。
答案 1 :(得分:0)
这不是一个非常优雅的解决方案,我仍然会建议别人说什么(即改变你的逻辑),但是如果你真的没有什么可以改变它而你的问题只是不可取的称之为函数使消息框显示两次,您可能会考虑使用if-block和控制变量来控制功能代码的各个部分:
If someFunction(False) = True Then
someFunction(True)
' Other code here...
End If
Private Function someFunction(ByVal showMsg As Boolean) As Boolean
If showMsg = True Then
MessageBox.Show("Function called!")
End If
Return True
End Function
请注意,我坚持你不需要两次显示消息框,但你的另一个问题的答案是可以在不调用它的情况下评估一个函数是不行的,你应该为了更实用和更优雅的代码,将函数分成两个逻辑部分,就像其他人已经建议你一样。