RecordSetとRecordの2つのクラスがあります。RecordSetにはGenericList(Of Record)があります。
RecordSetを返すRecordSet.AddRecord(ObjRecord)関数を呼び出すことで、オブジェクトをリストに追加できます。リストのカウントが200の場合、何らかの処理が行われ、新しいRecordSetオブジェクトが返されます。それ以外の場合は、それ自体が返され、アプリケーションはRecordオブジェクトをリストに追加し続けることができます。
私の懸念は、ガベージコレクションがスイープするまで、RecordSetのオブジェクトが200個あることです。これは良い考えですか?
Public Class RecordSet
Private lstRecords As New List(Of Record)
Public Function AddRecord(SomeVariable) AS RecordSet
lstRecords.Add(New Record())
If lstRecords.Count = 200 Then
Me.ProcessTheRecords()
Return New RecordSet()
Else
Return Me
End If
End Function
Private Sub ProcessTheRecords()
'Do stuff in here
End Sub
Private Class Record
Public Sub New()
End Sub
End Class
End Class
次に、私のアプリケーションで次のように呼び出します。
Dim objRecordSet AS New RecordSet
For Each VariableName In SomeList
objRecordSet = objRecordSet.AddRecord(VariableName)
Next
'Process the remaining objects in objRecordSet here.