Partilhar via


Propriedade Design

Em geral, os métodos representam ações e propriedades representam os dados. Propriedades são usadas como os campos, o que significa que propriedades não devem ser computacionalmente complexa ou produzir efeitos colaterais. Para obter informações adicionais sobre o design de propriedade, consulte Design de propriedade indexada e Eventos de notificação de alteração de propriedade.

As diretrizes a seguir ajudam a garantir que suas propriedades são bem projetadas.

Crie propriedades somente leitura se o chamador não deve ser capaz de alterar o valor da propriedade.

Lembre-se de que a de qualquer dependência da mutabilidade do tipo de propriedade afeta o que o usuário final pode alterar. Por exemplo, se você definir uma propriedade somente leitura que retorna uma coleção de leitura/gravação, o usuário final não é possível atribuir uma coleção diferente para a propriedade, mas pode modificar os elementos na coleção.

Não fornecem apenas do conjunto de propriedades.

Se a propriedade getter não pode ser fornecido, use um método para implementar a funcionalidade em vez disso. O nome do método deve começar com Set seguido o que teria sido o nome de propriedade. Por exemplo, AppDomain tem um método chamado SetCachePath em vez de ter uma propriedade somente conjunto chamada CachePath.

Fornece valores padrão razoáveis para todas as propriedades, garantindo que os padrões não resultam em uma brecha de segurança ou um design extremamente ineficiente.

Permitir que propriedades sejam definidas em qualquer ordem, mesmo que isso resulta em um estado temporário de objeto inválido.

Preserve o valor anterior, se um setter da propriedade lança uma exceção.

Evite gerar exceções de getters de propriedade.

Getters de propriedade devem ser operações simples, sem qualquer pré-condições. Se um getter pode lançar uma exceção, considere a reformulação da propriedade para ser um método. Essa recomendação não se aplica de indexadores. Os indexadores podem lançar exceções de causa de argumentos inválidos.

Ele é válido e aceitável para lançar exceções a partir de um setter de propriedade.

Portions Copyright 2005 Microsoft Corporation. Todos os direitos reservados.

Portions Copyright Addison-Wesley Corporation. Todos os direitos reservados.

Para obter mais informações sobre as diretrizes de design, consulte a "diretrizes de Design do Framework: Convenções, idiomas e padrões de reutilizável.Bibliotecas de rede" catálogo por Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.

Consulte também

Outros recursos

Diretrizes de Design do membro

Diretrizes de Design para desenvolvimento bibliotecas de classe