Primordial ToString() de la Liste<Maclasse>

J'ai une classe Maclasse, et je voudrais surcharger la méthode ToString() de cas de la Liste:

class MyClass
{
    public string Property1 { get; set; }
    public int Property2 { get; set; }
    /* ... */
    public override string ToString()
    {
        return Property1.ToString() + "-" + Property2.ToString();
    }
}

Je voudrais avoir les éléments suivants:

var list = new List<MyClass>
            {
                new MyClass { Property1 = "A", Property2 = 1 },
                new MyClass { Property1 = "Z", Property2 = 2 },
            };

Console.WriteLine(list.ToString());   /* prints: A-1,Z-2 */

Est-il possible de le faire? Ou j'aurais à la sous-classe List<Maclasse> de surcharger la méthode ToString() dans mon sous-classe? Puis-je résoudre ce problème en utilisant des méthodes d'extension (c'est à dire, est-il possible de remplacer une méthode avec une méthode d'extension)?

Merci!

  • Pour information: j'ai essayé de faire quelque chose en rapport avec NHibernate, et la cartographie des collections dans une chaîne sérialisée qui correspondent à une seule colonne. Cependant j'ai trouvé un autre moyen de le faire, par mettre en place mes propres IUserType, et ma mise en œuvre des constructions de la chaîne que j'en ai besoin! Merci à tous ceux qui ont répondu de toute façon!
InformationsquelleAutor Bruno Reis | 2009-08-27