Compartilhar via


Properties (C# Programming Guide)

Uma propriedade é um membro que fornece um mecanismo flexível para ler, gravar ou calcular o valor de um campo particular. Propriedades podem ser usadas como se eles são membros de dados públicos, mas eles são chamados de métodos realmente especiais acessadores. Isso permite que os dados sejam acessados facilmente e ainda ajuda a promover a segurança e a flexibilidade dos métodos.

Neste exemplo, o TimePeriod classe armazena um período de tempo. Internamente a classe armazena o tempo em segundos, mas uma propriedade chamada Hours permite que um cliente especificar um tempo em horas. Os acessadores para o Hours propriedade realizar a conversão entre as horas e segundos.

Exemplo

class TimePeriod
{
    private double seconds;

    public double Hours
    {
        get { return seconds / 3600; }
        set { seconds = value * 3600; }
    }
}


class Program
{
    static void Main()
    {
        TimePeriod t = new TimePeriod();

        // Assigning the Hours property causes the 'set' accessor to be called.
        t.Hours = 24;

        // Evaluating the Hours property causes the 'get' accessor to be called.
        System.Console.WriteLine("Time in hours: " + t.Hours);
    }
}
// Output: Time in hours: 24

Visão geral sobre propriedades

  • As propriedades permitem uma classe para expor uma maneira pública de obtenção e definição de valores, enquanto oculta a implementação ou a verificação de código.

  • A obter acessador de propriedade é usado para retornar o valor da propriedade e um set acessador é usado para atribuir um novo valor. Esses acessadores podem ter diferentes níveis de acesso. Para obter mais informações, consulte Restringindo a acessibilidade do acessador (C# guia de programação).

  • O valor palavra-chave é usada para definir o valor que está sendo atribuído pelo set acessador.

  • Propriedades que não implementam um set acessador são somente leitura.

  • Propriedades simples que não exigem nenhum código personalizado do acessador, considere a opção de usar as propriedades de auto-implementado. Para obter mais informações, consulte Automático-Implementadas Propriedades (guia de programação C#).

Seções relacionadas

Especificação da linguagem C#

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

Consulte também

Referência

Usando as Propriedades (guia de programação C#)

Indexers (C# Programming Guide)

Conceitos

C# Programming Guide

Propriedade Design