<p>I made a class that derives from Component:</p>

<pre><code>public class MyComponent: System.ComponentModel.Component
{


}
</code></pre>

<p>I saw that Visual Studio put this code in for me:</p>

<pre><code>protected override void Dispose(bool disposing)
{
    try
    {
        if (disposing &amp;&amp; (components != null))
        {
            components.Dispose();
        }
    }
    catch
    {
        throw;
    }
    finally
    {
        base.Dispose(disposing);
    }
}
</code></pre>

<p><code>MyComponent</code> has a member that is a <code>DataSet</code> and maybe there's some other members that implement <code>IDisposable</code>.  What, if anything, do i need to modify with the <code>Dispose()</code> method to make sure things are cleaned up properly?  Thanks for helping.</p>

Change:
```
```
if (disposing && (components != null))
{
     components.Dispose();
}
```
```
to be:
```
```
if (disposing && (components != null))
{
    _dataset.Dispose();
    components.Dispose();
}
```
```