1
resposta

Transformar um objeto em outro

Tentei fazer um quadro de funcionários sequencial: Estagiário, Trainee, Junior.... e assim por diante. Pensei em colocar um método Promover(), então um Estagiário poderia ser promovido para Trainee, Trainee para Junior e assim por diante. O problema é que não estou conseguindo transformar um objeto Estagiário em um objeto Trainee. Pensei que o código abaixo funcionaria, mas é readonly e aparentemente isso é imutável

this = new Trainee(Nome, NumeroCracha);

Como resolvo meu problema?

Muito obrigado

1 resposta

O correto seria vc ter um objeto chamado Funcionário e nele ter uma propriedade chama - Cargo

Dê uma olhada na classe Enum do C# https://www.w3schools.com/cs/cs_enums.asp

Sua classe ficaria mais ou menos assim:

public class Funcionario{
    public string Nome {get;set;}
    public EnumCargoFuncionario Cargo {get;set;}
    public void PromoverCargo(EnumCargoFuncionario cargoPromocao)
    {
        set { Cargo = cargoPromocao); }
    }
}

public enum EnumCargoFuncionario{
    0 = Estagiário, 
    1 = Trainee, 
    3 = Junior
}