VBではカリングのような効果を得ようとしています。私はこれを行うことができるようにしたい:ネストされた関数はデリゲートと同じシグニチャを持っていません
Dim wrap = WrapNumber("-")
wrap(5) 'returns "-5-"
ここに私の機能です:
Private Function WrapNumber(ByVal separator As String) As Func(Of Integer, String)
Return Function(ByRef number As Integer) As String
Return separator + number + separator
End Function
End Function
私はこのメッセージでReturn
ライン上のエラーを取得:
ネストされた機能はありません。代理人と同じ署名
Func(Of Integer, String)
'なぜこのエラーが出るのか分かりません。 WrapNumber
関数はInteger
を返し、String
を返します。したがって、WrapNumber
シグニチャで指定されたFunc
と同じ型を持つことがわかります。
私は 'ByRef'が問題を引き起こしていると思います。 'Func'はByRef引数をサポートしていません。 –
'ByRef'を削除し、' + 'を使わない' + ' –