我是VB.NET 2012(Visual Studio 2012)的新手。
我想知道如何理解以下错误消息?
'Return' statement in a Sub or a Set cannot return a value.
重点是“Sub或Set”。
如果有兴趣,我会尝试通过多种方式打印消息。
答案 0 :(得分:5)
Sub或Set如何被理解?
Sub
是没有返回值的方法:
Sub DoSomething()
…
End Sub
(与Function
相比,这是一个带有返回值的方法。)
Set
是属性的设置者:
Property X() As String
Get
Return SomeValue
End Get
Set(Value As String)
SomeValue = Value
End Set
End Property
与属性getter和函数不同,Sub
和Set
ters不返回值,因此不能包含Return X
语句(它们可以包含裸体Return
过早退出方法而不返回值,相当于Exit Sub
或Exit Property
。
答案 1 :(得分:0)
答案 2 :(得分:0)
在Sub中你可以有一个Return语句,但不是“有值”,即:
Sub MySub()
Return ' this is OK. It is optional (you do not HAVE to have a Return in a Sub).
End Sub
但
Sub MySub()
Return 3 ' this is WRONG
End Sub
在Property_SET中,您无法获得任何Return语句。 (另一方面,在Property_GET中,你必须有一个带有符合属性类型的值的Return语句。
Property MyProperty() As Integer
Get
' do all kinds of stuff
Return 3 ' Returns as integer-type value
End Get
Set(value as Integer)
' do stuff
Return ' WRONG
Return 3 ' also WRONG
End Set
End Property
答案 3 :(得分:-1)
您必须在Return
或Sub
中拥有Set
语句,并且您尝试返回一个值。你不能这样做。
Sub Something
Return 1 ' Error
End Sub
如果您需要返回一个值,那么您需要一个函数:
Function Something As Integer
Return 1 ' Ok
End Function