Estou tentando seguir o que o professor disse, porem esta dando um erro, e não faço ideia do que esta acontecendo com o metodo Logar, ele fica sublinhado e parece o seguinte erro:
Acessibilidade inconsistente: tipo de parâmetro "Diretor" é menor acessível do que o método "SistemaInterno.Logar(Diretor,string)"
Meu método principal
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Bytebank;
using Bytebank.Funcionarios;
using ByteBank.Funcionarios;
using ByteBank.Sistemas;
namespace ByteBank{
class Program{
static void Main(string[] args){
//GerenciadorBonificacao();
UsarSistema();
Console.ReadLine();
}
public static void GerenciadorBonificacao() {
GerenciadorBonificacao gerenciadorBonificacao = new GerenciadorBonificacao();
Funcionario Bianca = new Designer("833.222.048-39");
Bianca.NomeSacado = "Pedro";
Funcionario roberta = new Diretor("159.753.398-04");
roberta.NomeSacado = "Roberta";
Funcionario igor = new Auxiliar("981.198.778-53");
igor.NomeSacado = "Igor";
Funcionario camila = new GerenteDeConta("326.985.628-89");
camila.NomeSacado = "Camila";
Desenvolvedor guilherme = new Desenvolvedor("456.175.468-20");
guilherme.NomeSacado = "Guilherme";
gerenciadorBonificacao.Registrar(guilherme);
gerenciadorBonificacao.Registrar(Bianca);
gerenciadorBonificacao.Registrar(roberta);
gerenciadorBonificacao.Registrar(igor);
gerenciadorBonificacao.Registrar(camila);
Console.WriteLine("Total de bonificações do mês " +
gerenciadorBonificacao.GetTotalBonificacao());
}
public static void UsarSistema() {
SistemaInterno st = new SistemaInterno();
Diretor roberta = new Diretor("159.753.398-04");
roberta.NomeSacado = "Roberta";
roberta.Senha = "123";
st.Logar(roberta, "123");
}
public static void Call(string Mensagem) {
Console.WriteLine(Mensagem);
}
public static bool VerificaValor(string valor) {
if(String.IsNullOrEmpty(valor.Trim()) && valor != "") {
return true;
} else {
return false;
}
}
}
}
using Bytebank.Funcionarios;
using ByteBank.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ByteBank.Sistemas {
public class SistemaInterno {
public bool Logar(Diretor funcionario, string senha) {
bool usuarioAutenticado = funcionario.Autenticar(senha);
if(usuarioAutenticado) {
Console.WriteLine("Bem-vindo ao sistema!");
return true;
} else {
Console.WriteLine("Senha incorreta!");
return false;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ByteBank.Funcionarios {
public abstract class Funcionario {
//Variaveis ===================
public string NomeSacado { get; set; }
public string CPFCNPJ { get; private set; }
public double Salario { get; set; }
private int _tipo;
public string Cargo { get; set; }
public static int TotalDeFuncionarios { get; private set; }
//============================================
public Funcionario(string cpfcnpj) {
Console.WriteLine("Criando funcionario:");
CPFCNPJ = cpfcnpj;
TotalDeFuncionarios++;
}
public abstract void AumentarSalario();
public abstract double GetBonificacao();
}
}
using ByteBank.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Bytebank.Funcionarios {
class Diretor : Funcionario {
public string Senha { get; set; }
public Diretor(string cpfcnpj) : base(cpfcnpj) {
Console.WriteLine("Criando Diretor");
}
public bool Autenticar(string senha) {
return this.Senha == senha;
}
public override void AumentarSalario() {
Salario *= 1.15;
}
public override double GetBonificacao() {
return Salario * 0.5;
}
}
}
Alguém me ajudar por favor.