私の質問は IDisposable の実装に関するものです。私の知る限り、コードまたはセクションが完了すると、変数またはインスタンスは破棄されます。ステートメントが間違っている場合は修正してください。以下は私のプログラムの一部です:
If Con.State = ConnectionState.Closed Then Con.Open()
Cmd = New SqlCeCommand("Select * from BillItem", Con)
Rdr = Cmd.ExecuteReader()
While Rdr.Read = True
Dim x As New Classes.StockRoster
x.BillID = Rdr("BillID")
x.IsSales = Rdr("IsSales")
x.Quantity = Rdr("Quantity")
x.ContactBase = (From t As CommonCodes.ItemBase In ContactsbaseDict Where t.ID = BillContactDict(x.BillID)).First
x.StockEntityBase = StockEntitydict(Rdr("StockID"))
x.BillDate = Rdr("BillDate")
result.AddRange(x)
End While
Con.Close()
End IF
ここで X 変数の場合、I x (または StockRoster) が IDisposable インターフェイスを使用すると、メモリが改善されますか?
デフォルトでは、各ループの最後にリソースを破棄できませんでしたか?