不调用函数检查函数是否为真

时间:2014-11-17 21:28:34

标签: vb.net winforms visual-studio function call

我有一个我想要有条件地调用的函数,具体取决于它是否为真/假:

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。

2 个答案:

答案 0 :(得分:2)

根据定义你不能!

您可能需要将操作分为两部分:

  • 功能checkXX以查看是否需要执行某些操作
  • 功能,实际完成工作

可替换地, 只需调用该函数并让它完成一次工作,具体取决于" 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

请注意,我坚持你不需要两次显示消息框,但你的另一个问题的答案是可以在不调用它的情况下评估一个函数是不行的,你应该为了更实用和更优雅的代码,将函数分成两个逻辑部分,就像其他人已经建议你一样。