Olá, Guilherme! Tudo bem?
A razão pela qual a frase é exibida no console, mesmo sem você chamar explicitamente a propriedade DescricaoResumida
no program.cs
, é porque a propriedade foi configurada para retornar uma string formatada que combina outras propriedades da classe Musica
. Isso é feito através do uso de um get
personalizado na propriedade DescricaoResumida
.
No seu código, a propriedade DescricaoResumida
foi configurada para retornar a string interpolada "A música {Nome} pertence à banda {Artista}"
. Quando você chama Console.WriteLine(musica1.DescricaoResumida);
, o get
da propriedade é executado, e a string formatada é retornada e exibida no console.
Aqui está um exemplo prático de como isso funciona:
public class Musica
{
public string Nome { get; set; }
public string Artista { get; set; }
public string DescricaoResumida =>
$"A música {Nome} pertence à banda {Artista}";
}
class Program
{
static void Main()
{
Musica musica1 = new Musica
{
Nome = "Roxanne",
Artista = "The Police"
};
Console.WriteLine(musica1.DescricaoResumida);
}
}
Quando você executa este código, a saída será: "A música Roxanne pertence à banda The Police". Isso ocorre porque a propriedade DescricaoResumida
é chamada dentro do Console.WriteLine
, e o get
personalizado faz a interpolação das propriedades Nome
e Artista
.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.