C# Débarrasser de l'objet après l'utilisation de la liste?

J'ai une classe et cette classe a de la "valeur" de la variable contient une grande lecture de données à partir de fichier :

 public class MyClass : IDisposable
{
    public string name {get; set;}
    public string value {get; set;} //I'm load huge data for this variable

    public MyClass(string name, string value)
    {
        this.name = name;
        this.value = value;
    }

    public void Execute()
    {
        Console.WriteLine(this.name + ":" + this.value);
    }

    public void Dispose()
    {
        Dispose(true);            
        GC.SuppressFinalize(this); 
    }

    protected virtual void Dispose(bool disposing)
    {                     
        if (disposing)
        {
            this.name = null;
            this.value = null;
        }                      
    }
}

Et je suis à l'aide de cette classe dans la liste, c'est variable globale

List<MyClass> listQ = new List<MyClass>() { new MyClass("1", "BIGDATA1"),
            new MyClass("2", "BIGDATA2"),
            new MyClass("3", "BIGDATA3"),
            new MyClass("4", "BIGDATA4"),
            new MyClass("5", "BIGDATA5"),
            new MyClass("6", "BIGDATA6"),
        };

    private void FUC_Load(object sender, EventArgs e)
    {                        
        foreach (MyClass m in listQ)
        {
            m.Execute();
            m.Dispose();
        }                       
    } 

Donc je veux demander que si je fais comme ça, auront aucun problème? Mon objet sera éliminé ou pas? Toute la meilleure façon de faire? Merci!

Votre classe n'a pas besoin de IDisposable.
Aussi, si vous êtes vraiment ne gardant que le Nom et la Valeur des membres, qui sont des chaînes de caractères, vous pouvez mieux hériter de NameValueCollection plutôt que de réinventer la roue.

OriginalL'auteur Hùng Lê Xuân | 2013-04-28