我的代码不断收到此错误:函数get或operator中的return语句必须返回一个值

时间:2015-01-23 14:23:15

标签: vb.net

这是我的代码:

Public Function score()
    Dim file As System.IO.FileStream
    Dim Form As String

    If Form = 1 Then
        Try

            If My.Computer.FileSystem.FileExists("C:\Users\sfawcett\Documents\savedquizdata\class1.txt") Then
                Return

            End If


            file = System.IO.File.Create("C:\Users\sfawcett\Documents\savedquizdata\class1.txt")
            file.Close()
            Dim addInfo As New System.IO.StreamWriter("C:\Users\sfawcett\Documents\savedquizdata\class1.txt")

            addInfo.WriteLine("The person-->" & Name & "<-- got a score of " & score() & " out of 10 from class " & Form)
            addInfo.Close()
        Catch
        End Try
    End If

1 个答案:

答案 0 :(得分:2)

如果您希望某个方法无法返回任何内容,则需要使用Sub代替Function,例如Public Sub score() ...

否则,如果您打算返回某些内容,可以通过两种方式执行此操作:您可以将隐式返回变量(即函数的名称)设置为返回值:

Score=123

或者您可以将Return关键字与值一起使用:

Return 123

另外,正如Tim指出的那样,没有返回类型的函数(例如Scope() As Integer)假定类型为Object,因此从函数中获得的所有值都将具有相应的演员。