2
respostas

duvida sobre class

Pq o codigo a seguir apresenta erro no Visual studio code?

Musica musica1 = new Musica();
musica1.nome = "Roxanne";
musica1.artista = "The Police";

Tive que criar uma class para poder manipular outra class Musica:


class Segundaparte
{
    static void Main(string[] args) 
    {
        Musica musica1 = new Musica();
        musica1.nome = "Roxanne";
        musica1.artista = "The Police";

        Musica musica2 = new Musica();
        musica2.nome = "Vertigo";
        musica2.artista = "U2";
    }
    
}

Terei sempre que criar uma class para manipular outra?

2 respostas

Olá, Edla! Tudo bem?

O erro que você está encontrando no Visual Studio Code pode estar relacionado à visibilidade dos campos da classe Musica. No C#, para acessar os campos de uma classe em outro arquivo ou método, eles precisam ser públicos.

No seu caso, você precisa garantir que os campos nome e artista da classe Musica sejam públicos. Aqui está um exemplo de como sua classe Musica deve estar definida:

class Musica
{
    public string nome;
    public string artista;
    public int duracao;
    public bool disponivel;
}

Certifique-se de que a palavra-chave public está antes dos campos nome e artista. Isso permitirá que você acesse e manipule esses campos fora da classe Musica.

Quanto à sua pergunta sobre sempre precisar criar uma classe para manipular outra, a resposta é que, geralmente, você terá uma classe principal (como Program) que atua como ponto de entrada para o seu programa e onde você pode instanciar e manipular objetos de outras classes. Isso é uma prática comum em programação orientada a objetos, em que você organiza seu código em classes para melhor modularidade e reutilização.

Espero ter ajudado e bons estudos!

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

na Class Musica os campos estavam como sugerido.

class Musica
{
    public string nome;
    public string artista;
    public int duracao;
    public bool disponivel;
}

Acho que meu erro foi não ter criado outra pasta/arquivo para manipular e ter continuado com um ja existente. Criei um novo arquivo e funcionou