0
respostas

Faça como eu fiz: exibindo mídias

Program.cs

using Galeria.Modelos;

List<Midia> midias = new List<Midia> {
    new Imagem("wallpaper.png", "1920x1080"),
    new Video("aventurasdocelio.mp4", 133)
};

Console.Clear();
midias.ForEach(m => m.ExibirDetalhes());

Midia.cs

namespace Galeria.Modelos;
class Midia {

    public string? Nome {get;}

    public Midia(string? nome) {
        Nome = nome;
    }

    public virtual void ExibirDetalhes() {
        Console.WriteLine("Midia Genérica.");
    }
}

Imagem.cs

namespace Galeria.Modelos;
class Imagem : Midia {

    public string? Resolucao {get;}

    public Imagem(string? imagem, string? resolucao) : base (imagem) {
        Resolucao = resolucao;
    }

    public override void ExibirDetalhes() {
        Console.WriteLine($"Imagem: {Nome} - Resolução: {Resolucao}");
    }
    
}

Video.cs

namespace Galeria.Modelos;
class Video : Midia {

    public int Duracao {get;}

    public Video(string? imagem, int duracao) : base (imagem) {
        Duracao = duracao;
    }

    public override void ExibirDetalhes() {
        Console.WriteLine($"Vídeo: {Nome} - Duração: {Duracao} minutos.");
    }
    
}