Pular para o conteúdo

🏷️ Atributos em C#: os post-its que mandam no jogo

  • por

Já pensou se desse pra colar um post-it numa classe ou método dizendo pro compilador “ó, esse aqui é especial, trate diferente”?

Pois é, no C# isso existe e se chama atributo.

📌 O que são atributos?

São metadados que a gente cola em cima de classes, métodos ou propriedades.

Eles não mudam o código em si, mas dizem ao runtime ou a outras ferramentas como se comportar.

É tipo etiqueta de caixa na transportadora:

  • “Frágil” → cuidado!
  • “Este lado para cima” → não vire.
  • “Urgente” → entregue já.

✨ Exemplos práticos

1. [Serializable]

Diz que a classe pode ser serializada (encaixotada em JSON, XML, etc).

[Serializable]
class Usuario
{
    public string Nome { get; set; }
    public int Idade { get; set; }
}

2. [Obsolete]

Aviso de “isso aqui tá ultrapassado, não use mais”.

Pode até gerar erro de compilação se você quiser.

[Obsolete("Use o método NovoMetodo em vez deste")]
public void MetodoVelho()
{
    Console.WriteLine("Sou legado!");
}

3. [JsonPropertyName]

Customiza como o JSON vai serializar/deserializar uma propriedade.

using System.Text.Json.Serialization;

class Usuario
{
    [JsonPropertyName("nome_completo")]
    public string Nome { get; set; }

    public int Idade { get; set; }
}

No JSON:

{"nome_completo":"Mandy","Idade":25}

🔧 Como funcionam?

Atributos são classes especiais que herdam de System.Attribute.

Quando você coloca [Obsolete] ou [Serializable], na prática está instanciando uma classe que o compilador sabe interpretar.

🚀 Conclusão

  • NuGet trouxe as ferramentas.
  • Serialização organizou a mala.
  • Atributos são as etiquetas que mandam como tratar cada coisa.

👉 Juntos, esses três formam um kit essencial pra quem tá mergulhando de cabeça no .NET.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *