Compartilhar via


Passando Parâmetros

Parâmetros do método podem ser passados por valor, por referência, ou como parâmetros de saída. Quando um parâmetro é passado por valor, o método obtém uma cópia dos dados do chamador e não é possível alterar a cópia do chamador dos dados. Quando um parâmetro é passado por referência, o método obtém um ponteiro para os dados do chamador. Esses dados são compartilhados com o chamador. Se o método faz alterações a um parâmetro de referência, as alterações são feitas para os dados do chamador. Ao usar um parâmetro de referência, o estado inicial dos dados pode ser usado pelo método. Um parâmetro de saída é semelhante a um parâmetro de referência, exceto que os parâmetros de saída são usadas exclusivamente para retornar dados para o chamador, enquanto os parâmetros de referência podem ser usados para passar dados para o método, bem como receber dados do método.

Evite usar check-out ou fazer referência a parâmetros.

Trabalhar com membros que definem o check-out ou fazer referência a parâmetros requer que o desenvolvedor entender ponteiros, diferenças sutis entre tipos de valor e tipos de referência e diferenças de inicialização entre o check-out e parâmetros de referência.

Não passe os tipos de referência por referência.

Passando um objeto de referência permite que o método para substituir o objeto com uma instância diferente. Na maioria dos cenários, o método deve usar o objeto fornecido e não ter permissão para substituí-lo. Existem algumas exceções limitadas a essa regra (por exemplo, um método que pode ser usado para trocar as referências).

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

Conceitos

Design de parâmetro

Outros recursos

Diretrizes de Design do membro

Diretrizes de Design para desenvolvimento bibliotecas de classe