Sobrecargas (Visual Basic)

Especifica que uma propriedade ou procedimento rededeclara uma ou mais propriedades ou procedimentos existentes com o mesmo nome.

Observações

Sobrecarga é a prática de fornecer mais de uma definição para uma determinada propriedade ou nome de procedimento no mesmo escopo. A redeclaração de uma propriedade ou procedimento com uma assinatura diferente às vezes é chamada de ocultação por assinatura.

Regras

  • Contexto da Declaração. Você pode usar Overloads somente em uma instrução de declaração de propriedade ou procedimento.

  • Modificadores combinados. Não é possível especificar Overloads juntamente com Shadows na mesma declaração de procedimento.

  • diferenças necessárias. A assinatura nesta declaração deve ser diferente da assinatura de todos os bens ou procedimentos que sobrecarrega. A assinatura inclui o nome da propriedade ou do procedimento, juntamente com o seguinte:

    • o número de parâmetros

    • a ordem dos parâmetros

    • os tipos de dados dos parâmetros

    • o número de parâmetros de tipo (para um procedimento genérico)

    • o tipo de retorno (apenas para um procedimento de operador de conversão)

    Todas as sobrecargas devem ter o mesmo nome, mas cada uma deve diferir de todas as outras em um ou mais dos aspetos anteriores. Isso permite que o compilador distinga qual versão usar quando o código chama a propriedade ou o procedimento.

  • Diferenças não permitidas. Alterar um ou mais dos seguintes itens não é válido para sobrecarregar uma propriedade ou procedimento, porque eles não fazem parte da assinatura:

    • se devolve ou não um valor (para um procedimento)

    • o tipo de dados do valor de retorno (exceto para um operador de conversão)

    • os nomes dos parâmetros ou parâmetros de tipo

    • as restrições relativas aos parâmetros de tipo (para um procedimento genérico)

    • palavras-chave modificadoras de parâmetros (como ByRef ou Optional)

    • palavras-chave modificadoras de propriedade ou procedimento (como Public ou Shared)

  • Modificador opcional. Não é necessário usar o Overloads modificador quando estiver definindo várias propriedades ou procedimentos sobrecarregados na mesma classe. No entanto, se você usar Overloads em uma das declarações, você deve usá-lo em todas elas.

  • Sombreamento e sobrecarga. Overloads também pode ser usado para sombrear um membro existente, ou conjunto de membros sobrecarregados, em uma classe base. Quando você usa Overloads dessa maneira, você declara a propriedade ou método com o mesmo nome e a mesma lista de parâmetros que o membro da classe base e não fornece a Shadows palavra-chave.

Se você usar Overrideso , o compilador adiciona Overloads implicitamente para que as APIs da sua biblioteca funcionem com C# mais facilmente.

O Overloads modificador pode ser usado nestes contextos:

Consulte também