title: Yielding with an IDisposable resource
body: <p>Is there a proper way to yield through a disposable resource? The returned objects are IDisposable, but the element it is iterating through is.</p>
  
  <p>Here is an example:</p>
  
  <pre><code>public static IEnumerable&lt;T&gt; Fetch(IEnumerable&lt;Guid&gt; ids)
  {
      using (var client = new CouchbaseClient())
      {
          yield return ids.Select(s =&gt; s.ToString());
      }
  }
  </code></pre>
  
  <p>Right now, calling this would not dispose the <code>using</code> resource obtained. I know I can just to a ToList and return it all at once, but is there a way to handle this "properly", or do I have to keep a tab on the IDisposable resource and dispose of it manually when I'm done?</p>