次のクラスを作成しました。
Public Class Candidate
Public Account As String
Public StartDate As Date
Public EndDate As Date
End Class
次に、2番目のクラスで、を取得し、List(Of Candidate)
開始日と終了日を一致させてグループ化します。私は次のコードを持っています:
Public Class MyClass
Private _Candidates As New List(Of Candidate)
Private _Grouped_Candidates as ????????
Sub Group_Candidiates()
_Grouped_Candidates = From Candidate In _Candidates
Group Candidate By StrtDt = Candidate.StartDate, EndDt = Candidate.EndDate Into Group
Select New With {.Grp = Group, .StrtDt = StrtDt, .EndDt = EndDt}
End Sub
End Class
そして、このクラスの別の部分で、このメモリ内クエリに対して操作を実行したいと思います。
Sub DoStuff()
For Each Grp In _Grouped_Candidates
DoSometihng(Grp.Grp.Select(Function(Candidate) Candidate.Account).ToList, _
Grp.StrtDt, _
Grp.EndDt)
Next
End Sub
_Grouped_Candidates
正しく宣言していないので、これは私にエラーを与えています。
私の質問は、これが悪いプログラミング慣行であるかどうか(サブのスコープを超えて保存されたメモリ内クエリを保持すること)であり、そうであれば、代わりに何をすべきかです。そうでない場合は、クラス全体で使用できるように、クエリを正しく宣言するにはどうすればよいですか?
ありがとう!!!