Comment mettre en œuvre IDisposable correctement

J'ai vu tellement de code C# dans mon temps en tant que développeur qui a pour but d'aider le GC par des variables de réglage à la valeur null ou en appelant Dispose() sur les classes (DataSet par exemple) à l'intérieur de leurs propres classes méthode dispose() qui
Je me demandais si il n'y a aucun besoin de le mettre en œuvre dans un environnement géré.

Est ce code qu'une perte de temps dans son modèle de conception?

class MyClass : IDisposable 
{
    #region IDisposable Members

    public void Dispose() 
    {
        otherVariable = null;
        if (dataSet != null)
        {
            dataSet.Dispose();
        }
    }

    #endregion
}

OriginalL'auteur | 2010-04-29