Compartilhar via


field - Declarações de propriedade com suporte de campo

Importante

A field palavra-chave é um recurso de visualização no C# 13. Você deve estar usando o .NET 9 e definir seu <LangVersion> elemento como preview no arquivo de projeto para usar a field palavra-chave contextual.

Você deve ter cuidado ao usar o recurso de field palavra-chave em uma classe que tenha um campo chamado field. A nova field palavra-chave sombreia um campo nomeado field no escopo de um acessador de propriedade. Você pode alterar o nome da field variável ou usar o @ token para fazer referência ao field identificador como @field. Você pode saber mais lendo a especificação do recurso para a field palavra-chave.

A palavra-chave fieldcontextual , adicionada como um recurso de visualização no C# 13, pode ser usada em um acessador de propriedade para acessar o campo de suporte sintetizado do compilador de uma propriedade. Essa sintaxe permite que você defina o corpo de um get acessador or set e permita que o compilador gere o outro acessador como faria em uma propriedade implementada automaticamente.

A adição das palavras-chave contextuais fornece um caminho suave para adicionar benefícios, como verificação de intervalo, a uma propriedade implementada field automaticamente. Essa prática é mostrada no exemplo a seguir:

class TimePeriod4
{
    public double Hours {
        get;
        set => field = (value >= 0)
            ? value
            : throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
    }
}

Você pode implementar a propriedade como uma propriedade implementada Hours automaticamente. Então, você descobre que deseja se proteger contra um valor negativo. Você usa field e fornece verificação de intervalo no set acessador. Você não precisa declarar o campo de suporte manualmente e fornecer um corpo para o get acessador.

Para obter mais informações, confira os artigos Propriedades e Indexadores.

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.