Ir para o conteúdo do rodapé
Iron Academy Logo
Novidades em C# e .NET

Como a Nova Palavra-chave Field Melhora Propriedades em C#

Tim Corey
10m 40s

Propriedades em C# são uma parte central de como os dados são acessados e protegidos dentro de uma classe. Elas ficam entre membros de dados privados e acesso público, permitindo aos desenvolvedores controlarem como os valores são lidos e escritos. Em seu vídeo "Como a Nova Palavra-Chave Field Melhora as Propriedades em C# 14 em 10 Minutos ou Menos", Tim Corey explica como o C# 14 introduz uma melhoria significativa nas propriedades através da nova palavra-chave field.

Neste artigo, damos uma análise mais aprofundada das propriedades em C# caminhando pelo vídeo de Tim passo a passo. A explicação de Tim é prática e orientada por exemplos, mostrando como a nova palavra-chave melhora as propriedades implementadas automaticamente, simplifica a validação e reduz o boilerplate—sem alterar a mesma sintaxe na qual os desenvolvedores já confiam. O objetivo aqui é entender melhor as propriedades do C# acompanhando o raciocínio e as demonstrações exatas de Tim.

Overview of C# Properties and the Upgrade in C# 14

Tim começa explicando que há um grande upgrade nas propriedades em C# no C# 14. Ele deixa claro que o foco do vídeo é a nova palavra-chave field, que afeta como as propriedades automáticas funcionam internamente. Tim também menciona que o C# 14 é lançado junto com o .NET 10 e o Visual Studio 2026, embora o próprio recurso possa funcionar em versões anteriores do .NET.

Ele molda o vídeo como uma explicação rápida e focada, projetada para responder a uma pergunta específica: como usamos este novo recurso no código real? Isso define o tom para um tutorial prático em vez de uma discussão teórica sobre definição de propriedades.

O Exemplo da Classe Person e Propriedades Automáticas

Por volta de 0:23, Tim introduz uma aplicação de console com uma classe pública simples chamada Person. Esta classe Person contém várias propriedades públicas, incluindo:

  • public string PrimeiroNome

  • public string Sobrenome

  • public int Idade

Tim explica que estas são propriedades implementadas automaticamente (também chamadas de propriedades automaticamente implementadas). Não há variáveis privadas visíveis ou campos privados porque o compilador cria automaticamente um campo de apoio nos bastidores.

Ele também inclui uma propriedade Demo que não é implementada automaticamente. Ao invés disso, ela usa um campo de apoio privado de string (_demo) e expõe uma propriedade somente leitura usando apenas um acessador get. Esse contraste torna-se importante mais tarde no vídeo.

Usando Propriedades em Program.cs

Tim então passa para a classe Program e mostra como o objeto Person é criado dentro de public static void main (ou static void main string args, conceitualmente). Ele instancia uma nova pessoa usando:

new Person { PrimeiroNome = "Tim", Sobrenome = "Corey" }

Tim aponta que as propriedades permitem acesso fora da classe enquanto ainda escondem os membros de dados privados. Ele recupera valores como nome, idade e demo, mostrando como as propriedades aparecem exatamente como campos quando acessadas, mesmo que na verdade sejam métodos especiais nos bastidores.

O Problema com Valores Inválidos em Propriedades Automáticas

Por volta de 1:23, Tim atribui deliberadamente um valor inválido:

person.Sobrenome = null;

Embora LastName seja necessário e não seja marcado como nullable, a atribuição ainda funciona em tempo de execução. Tim explica que propriedades automáticas não protegem automaticamente contra valores inválidos. O compilador avisa você, mas o método set ainda aceita o valor.

Isso demonstra uma questão chave com propriedades implementadas automaticamente: enquanto são concisas, não fornecem uma maneira incorporada de adicionar validação. Dados inválidos podem passar e silenciosamente quebrar suposições.

A Propriedade Completa Tradicional com Campo de Apoio

Por volta de 2:58, Tim mostra o que desenvolvedores costumavam fazer em versões anteriores do C#. Ele converte LastName em uma propriedade totalmente implementada com:

  • Um campo de apoio privado de string

  • Um acessador set que verifica o valor da propriedade

  • Uma exceção lançada para valores inválidos

Este approach dá controle total sobre os acessadores da propriedade, mas Tim enfatiza o quanto se torna verboso. A propriedade agora ocupa várias linhas, comparada à sintaxe de uma linha das propriedades automáticas.

Ele também explica que mudar de uma propriedade automática para uma propriedade completa não quebra o código existente, já que o nome da propriedade, o nível de acessibilidade e o uso externo permanecem os mesmos.

A Nova Palavra-Chave field como um Meio-Termo

Às 4:19, Tim apresenta a principal melhoria no C# 14. Em vez de escrever uma propriedade completa, ele mantém a estrutura da propriedade automática e modifica apenas o acessador set usando a palavra-chave field.

Tim explica que field representa o campo privado gerado pelo compilador que normalmente permanece oculto. Atribuindo field = value, os desenvolvedores agora podem interceptar e validar o valor da propriedade sem declarar sua própria variável privada.

Isso preserva a mesma sintaxe que os desenvolvedores estão acostumados enquanto adiciona flexibilidade. Tim destaca que isso reduz o código enquanto ainda permite a lógica de validação, posicionando-o entre propriedades automáticas e propriedades completas.

Campos de Apoio Escopados e Isolamento de Propriedades

Tim explica que a palavra-chave field está escopada para a propriedade onde ela aparece. Cada propriedade obtém seu próprio campo de apoio, e não há risco de interferência entre propriedades.

Se a mesma sintaxe for utilizada em outra propriedade—como FirstName—ela se refere ao próprio campo de apoio daquela propriedade. Isso torna o recurso previsível e seguro para uso em várias propriedades públicas.

Validando Propriedades Numéricas Como Age

Por volta de 6:16, Tim aplica a mesma abordagem a uma propriedade public int Age. Ele atribui um valor negativo inválido e explica por que isso não deveria ser permitido.

Ao invés de lançar uma exceção, Tim mostra uma estratégia diferente: ignorar valores inválidos. O método set verifica se o valor está dentro de um intervalo válido antes de atribuí-lo a field.

Isso demonstra que a nova abordagem funciona igualmente bem para private int age, validação numérica e lógica condicional—tudo sem converter a propriedade em uma implementação completa.

Conflitos de Nomenclatura com a Palavra-Chave field

Tim então discute um caso limite potencial: conflitos de nomenclatura. Se uma classe já contiver uma variável chamada field, isso pode entrar em conflito com a nova palavra-chave dentro das propriedades.

Ele demonstra como isso causa confusão e comportamento inesperado. Tim explica que a solução é referenciar explicitamente a variável usando this.field ou @field. Isso distingue o nome da variável da palavra-chave de campo de apoio.

Tim recomenda fortemente renomear tais variáveis como uma boa prática, especialmente ao atualizar bases de código existentes.

Onde Conflitos de Nomenclatura Não se Aplicam

Tim esclarece que a palavra-chave field só tem significado especial dentro dos acessadores de propriedade. Em construtores, métodos ou outras partes da classe, field se comporta como uma variável normal.

Essa distinção ajuda os desenvolvedores a entenderem quando o campo de apoio gerado pelo compilador existe e quando não.

Considerações Finais de Tim Corey

Tim conclui seu vídeo resumindo como a nova palavra-chave field funciona e por que ela melhora as propriedades em C#. Ela permite que os desenvolvedores continuem usando propriedades automáticas enquanto adicionam validação, controle e clareza.

Ele encoraja os espectadores a experimentarem o recurso, explorarem como ele se encaixa em seu estilo de codificação e pensarem cuidadosamente sobre convenções de nomenclatura. Tim encerra o vídeo reforçando que essa mudança torna as propriedades mais expressivas sem adicionar complexidade desnecessária.

Hero Worlddot related to Como a Nova Palavra-chave Field Melhora Propriedades em C#
Hero Affiliate related to Como a Nova Palavra-chave Field Melhora Propriedades em C#

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim