У меня есть класс MyClass, и я хотел бы переопределить метод ToString() экземпляров List:
class MyClass
{
public string Property1 { get; set; }
public int Property2 { get; set; }
/* ... */
public override string ToString()
{
return Property1.ToString() + "-" + Property2.ToString();
}
}
Я хотел бы иметь следующее:
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 */
Возможно ли это сделать? Или мне пришлось бы создать подкласс List‹MyClass>, чтобы переопределить метод ToString() в моем подклассе? Могу ли я решить эту проблему, используя методы расширения (т. е. можно ли переопределить метод с помощью метода расширения)?
Спасибо!