1
resposta

CS0108 -- Em Diretor.cs apareceu em GetBonificacao:

Em Diretor.cs apareceu em GetBonificacao: "Diretor.GetBonificacao" oculta o membro herdado

O que isso significa?
1 resposta

Como você tem o método GetBonificacao() declarado na classe base (Funcionario), provavelmente você se esqueceu de utilizar a diretiva override ao sobreescrever o método na classe filha (Diretor).

Basta mudar a assinatura do método para public override double GetBonificacao() e esse aviso desaparecerá.

A diretiva override serve justamente para indicar que estamos gerando outra implementação a um método que foi previamente declarado (usualmente na classe pai).

Você pode consultar mais detalhes sobre o erro CS0108 em https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/compiler-messages/cs0108