【问题标题】:Function issue while returning a value返回值时的函数问题
【发布时间】:2016-06-22 15:34:04
【问题描述】:

所以,我正在尝试使 Function 方法工作,但出现了一些问题,我无法解决它们。我使用了断点,我发现这是一个循环,并且没有调用其中一个代码行。方法是这样的:

Private Function SendToRecycle(filename As String) As Boolean
    If MsgBox("Are you sure you want to sent it to recycle bin?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
        Return "True"
        My.Computer.FileSystem.DeleteFile(filename, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin)
    ElseIf MsgBox("Are you sure you want to sent it to recycle bin?", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
        Return "False"
    End If
    Return SendToRecycle
End Function

它的作用很简单,如果用户选择选项是,它应该返回 true 并将该文件发送到回收站并写入我的数据库,如果不是,它将返回 true 并写入我的数据库而不删除添加的文件。 但是发生的事情是,如果我单击是,它将返回 True 但不会调用删除文件的操作...

您有什么想法可以解决我的问题吗?

【问题讨论】:

  • Return 在调用后面的方法之前退出该过程。 Also likely sockpuppet alert
  • 将 Return 放在 My.Computer.FileSystem.DeleteFile 开头的行之后 ...
  • 如果我这样做,它将删除文件但不返回 true @ChicagoMike
  • @Plutonix 你有没有标记它以引起版主的注意?在 cmets 中留下一个链接没有任何好处——把它放在标志对话框的文本框中!
  • 你在说什么? @CodyGray

标签: vb.net function


【解决方案1】:

试试:

Private Function SendToRecycle(filename As String) As Boolean
    If MsgBox("Are you sure you want to sent it to recycle bin?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
        My.Computer.FileSystem.DeleteFile(filename,FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin)
        Return True
    ElseIf MsgBox("Are you sure you want to sent it to recycle bin?", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
        Return False
    End If
End Function

【讨论】:

  • 返回时会给我一个错误Expression expected
  • 我试过了,还是不行。基本上它不会读取返回 true 并删除文件而不读取该行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-03
  • 2011-03-06
  • 1970-01-01
  • 2020-06-21
  • 2019-10-08
  • 2019-06-27
相关资源
最近更新 更多