我认为这是一个相对简单的问题,但我觉得这个问题似乎很小......
我有一个表单,我尝试将一个参数传递给一个函数并以值返回一个字符串
ParmValue = "Juarez"
dim CheckValue = GetValueFromFunction(parmValue)
Private Sub GetValueFromFunction (ByVal Optional ValueFromFunc as string)
'do stuff
getValueFromFunction = "OK"
or
getValueFromFuncton="NOTOK"
return GetValueFromFunction
End sub
基本上我希望从GetValueFromFunction获取字符串值,以便CheckValue保存该值。我做错了什么?
答案 0 :(得分:4)
Private Function GetValueFromFunction(Optional ValueFromFunc as String = Nothing) As String
Dim returnValue As String
'do stuff...
If someCondition Then
returnValue = "OK"
Else
returnValue = "NOTOK"
End If
Return returnValue
End Function
Function
是一种返回内容的方法,而Sub
是一种不返回内容的方法(它更像是一种操作)。在C#中,Sub
会返回void
。
答案 1 :(得分:1)
因为您要返回一个值,所以需要使用Function
。您的代码错误,因为它声明了Sub
(过程)。
正确使用Function
是:
Private Function GetValueFromFunction (ByVal ValueFromFunc As String) As String
' do stuff
GetValueFromFunction = "OK"
' or
GetValueFromFunction = "NOTOK"
Return GetValueFromFunction
End Function
请注意
As String
的使用。这是为了指示Function
的返回类型。