Na aula de Herança em C# diz ... "É bem possível uma classe derivada possuir uma forma diferente de se definir ou obter uma propriedade, então, faz sentido marcar uma propriedade como virtual! Para isto, usamos o modificador após o public:
public virtual int Numero { get; set; } " ...
.... Posso estar errado também, mas acredito que seja conforme a explicação dos vídeos: onde você usa o Modificador virtual para a classe base e usa o modificador override para a classe derivada, onde você pode sobrepor ou sobreescrever o comportamento da classe base, da maneira que está escrito parece que a classe derivada você precisa definir como virtual a propriedade.
insira seu código aqui