Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Exercício] VideoFlix Plataforma A e B

Sua missão agora é criar um projeto do tipo console com duas pastas: PlataformaA e PlataformaB. Nelas você vai declarar classes de mesmo nome: Video. A ideia é representar vídeos com conceitos diferentes, dependendo da plataforma de streaming. Para o objetivo desta atividade, não precisaremos criar propriedades nelas. Declare seus namespaces como a seguir:

Classe Video na pasta PlataformaA: namespace VideoFlix.PlataformaA;

Classe Video na pasta PlataformaB: namespace VideoFlix.PlataformaB.

Por fim, declare duas variáveis no arquivo Program.cs cujos tipos são Video da plataforma A e Video da plataforma B. Como resolver o conflito de nomes?

R.: Foi resolvido o conflito de nomes através de Aliases, onde escolho um nome mais curto, simples e intuitivo para substituir o caminho completo do namespace.

using A = VideoFlix.PlataformaA;
using B = VideoFlix.PlataformaB;

A.Video videoA = new A.Video();
B.Video videoB = new B.Video();
1 resposta
solução!

Olá Fábio! Tudo certo?

Quando temos classes com o mesmo nome em namespaces diferentes, como no seu caso com as classes Video nas pastas PlataformaA e PlataformaB, podemos resolver o conflito de nomes utilizando aliases para os namespaces.

A sua abordagem de usar aliases no Program.cs é uma prática comum e eficaz. Ao declarar:

using A = VideoFlix.PlataformaA;
using B = VideoFlix.PlataformaB;

Você cria atalhos para os namespaces, permitindo que você use A.Video e B.Video para instanciar objetos das classes Video de cada plataforma, respectivamente. Isso ajuda a manter o código limpo e legível, além de evitar ambiguidade.

Aqui está um exemplo de como você pode declarar as variáveis no Program.cs:

A.Video videoA = new A.Video();
B.Video videoB = new B.Video();

Com isso, você consegue diferenciar claramente qual classe Video está sendo utilizada em cada caso, sem precisar escrever o caminho completo do namespace toda vez.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.