Partilhar via


A palavra-chave get

A get palavra-chave define um método de acessador em uma propriedade ou indexador que retorna o valor da propriedade ou o elemento indexador. Para obter mais informações, consulte Properties, Propriedades implementadas automaticamentee Indexers.

A referência da linguagem C# documenta a versão mais recentemente lançada da linguagem C#. Contém também documentação inicial para funcionalidades em versões preliminares públicas para a próxima versão da linguagem.

A documentação identifica qualquer funcionalidade introduzida pela primeira vez nas últimas três versões da língua ou em pré-visualizações públicas atuais.

Sugestão

Para saber quando uma funcionalidade foi introduzida pela primeira vez em C#, consulte o artigo sobre o histórico de versões da linguagem C#.

Para casos simples em que uma get propriedade e set acessórios não realizam outra operação senão definir ou recuperar um valor num campo de suporte privado, aproveite o suporte do compilador C# para propriedades implementadas automaticamente. O exemplo a seguir implementa como uma propriedade implementada Hours automaticamente.

class TimePeriod3
{
    public double Hours { get; set; }
}

Importante

Não podes usar propriedades implementadas automaticamente para declarações de propriedades de interface ou a declaração de implementação para uma propriedade parcial. O compilador interpreta a sintaxe que corresponde a uma propriedade implementada automaticamente como a declaração de declaração, não como uma declaração de implementação.

Muitas vezes, o get acessador consiste em uma única instrução que retorna um valor, como fez no exemplo anterior. Você pode implementar o get acessador como um membro com corpo de expressão. O exemplo a seguir implementa o get e o set acessador como membros com corpo de expressão.

class TimePeriod2
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        set => _seconds = value;
    }
}

Você pode achar que precisa implementar um dos órgãos de acesso. Use uma propriedade de campo para permitir que o compilador gere um acessor enquanto escreve o outro manualmente. Use a field palavra-chave, adicionada em C# 14, para aceder ao campo de suporte sintetizado pelo compilador:

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

O exemplo a seguir define um get e um set acessador para uma propriedade chamada Seconds. Ele usa um campo privado nomeado _seconds para apoiar o valor da propriedade.

class TimePeriod
{
    private double _seconds;

    public double Seconds
    {
        get { return _seconds; }
        set
        {
            if (value < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
            }
            _seconds = value;
        }
    }
}

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 do C#.

Consulte também