Если вы используете public string ToString()
, неясно, что вы намеревались сделать . Если вы хотите изменить поведение ToString
посредством полиморфизма, тогда override
. Вы могли бы добавить new ToString()
, но это было бы глупо. Не делай этого!
Разница в том, что происходит, когда вы делаете:
MyType t = new MyType();
object o = t;
Console.WriteLine(t.ToString());
Console.WriteLine(o.ToString());
Если вы override
, оба выведут вашу новую версию. Если вы new
, только первая будет использовать вашу новую версию; вторая будет использовать оригинальную реализацию.
Я не думаю, что я когда-либо видел, чтобы кто-нибудь использовал скрытие метода (он же new
) на ToString()
.