使い捨てのリソースを利用する適切な方法はありますか? 返されたオブジェクトは IDisposable ですが、反復処理中の要素は IDisposable です。
次に例を示します。
public static IEnumerable<T> Fetch(IEnumerable<Guid> ids)
{
using (var client = new CouchbaseClient())
{
yield return ids.Select(s => s.ToString());
}
}
現在、これを呼び出しても、using
取得したリソースは破棄されません。ToList にアクセスして一度にすべて返すことができることはわかっていますが、これを「適切に」処理する方法はありますか、または IDisposable リソースのタブを保持し、完了したら手動で破棄する必要がありますか?