Почему бы не вызывать переопределенные методы в конструкторах?

Это упрощенный пример, но у меня есть некоторый реальный код, который концептуально делает то же самое (пытается проверить значения, «устанавливать» методы доступа производных классов), и анализатор дает мне «Не вызывать переопределенные методы в конструкторах». Я пытаюсь выяснить, должен ли я изменить свой код или проигнорировать предупреждение. Я не могу придумать причину, по которой мне следует учесть предупреждение.

public abstract class SimpleUrl
{
    protected string _url;
    public abstract string Url { get; set; }
    public SimpleUrl()
    { }
    public SimpleUrl(string Url)
    {
        this.Url = Url;
    }
}

public class HttpUrl : SimpleUrl
{
    public HttpUrl()
    { }
    public HttpUrl(string Url)
    {
        this.Url = Url;
    }
    public override string Url
    {
        get
        {
            return this._url;
        }
        set
        {
            if (value.StartsWith("http://"))
                this._url = value;
            else
                throw new ArgumentException();
        }
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос