Private Sub LoadData(Of T)(ByVal query As ObjectQuery(Of T),
ByRef result As IEnumerable(Of T))
If Connection.State = ConnectionState.Open Then
result = query.ToArray
Else
AddHandler Connection.StateChange,
Sub(sender As Object, e As StateChangeEventArgs)
LoadData(query, result)
End Sub
End If
End Sub
上記のコードでは、接続が利用できないときに LoadData 関数を再帰しようとしています。利用可能になったときにロードを延期したいと考えています。
問題は、ラムダ式で param を使用できないため、ByRef
上記のコードによってコンパイラ エラーが発生することです。
これを正しい方法で行う方法はありますか?