VB.NET 2012 (Visual Studio 2012) は初めてです。
次のエラー メッセージをどのように理解すればよいのでしょうか。
'Return' statement in a Sub or a Set cannot return a value.
焦点は「サブまたはセット」にあります。
興味がある場合は、さまざまな方法でメッセージを印刷しようとしています.
VB.NET 2012 (Visual Studio 2012) は初めてです。
次のエラー メッセージをどのように理解すればよいのでしょうか。
'Return' statement in a Sub or a Set cannot return a value.
焦点は「サブまたはセット」にあります。
興味がある場合は、さまざまな方法でメッセージを印刷しようとしています.
サブまたはセットはどのように理解されますか?
ASub
は戻り値のないメソッドです。
Sub DoSomething()
…
End Sub
Function
(戻り値を持つメソッドである a とは対照的です。)
ASet
はプロパティのセッターです。
Property X() As String
Get
Return SomeValue
End Get
Set(Value As String)
SomeValue = Value
End Set
End Property
プロパティの getter および関数とは異なり、Sub
s およびter は値を返さないため、ステートメントをSet
含めることはできません(値を返さずに途中でメソッドを終了する、またはと同等のネイキッドを含めることができます)。Return X
Return
Exit Sub
Exit Property
Sub では何かを返すことはできませんが、Function ではできます。
ここを参照してください:
http://msdn.microsoft.com/en-us/library/d03wadb1(v=vs.80).aspx
aまたは aにReturn
ステートメントが必要で、値を返そうとしています。そんなことはできません。Sub
Set
Sub Something
Return 1 ' Error
End Sub
値を返す必要がある場合は、関数が必要です。
Function Something As Integer
Return 1 ' Ok
End Function
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 では、Property の TYPE に準拠する値を持つ 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