Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A palavra-chave
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.
Para casos simples em que os acessadores e get uma set propriedade não executam outra operação além de definir ou recuperar um valor em um campo de suporte privado, você pode aproveitar 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
As propriedades implementadas automaticamente não são permitidas para declarações de propriedade 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. Você pode usar uma propriedade apoiada por campo para permitir que o compilador gere um acessador enquanto você escreve o outro manualmente. Utiliza-se a field palavra-chave, adicionada em C# 14, para aceder ao campo de apoio 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#.