Учитывая следующие классы:
public abstract class ValueBase
{
public new abstract string ToString();
}
public class EmailAddress : ValueBase
{
public MailAddress MailAddress { get; }
public EmailAddress([NotNull] string address)
{
MailAddress = new MailAddress(address);
}
public override string ToString()
{
return MailAddress.Address;
}
}
Почему:
var email = new EmailAddress("[email protected]");
string emailString1 = $"{email}";
string emailString2 = email.ToString();
возвращает строку имени типа (Namespace.EmailAddress
), а не переопределенный метод ToString ([email protected]
)?