Sobrecargas (Visual Basic)
Especifica que uma propriedade ou procedimento redeclara uma ou mais propriedades ou procedimentos existentes com o mesmo nome.
Comentários
Sobrecarga é a prática de fornecer mais de uma definição para uma determinada propriedade ou nome de procedimento no mesmo escopo. O ato de redeclarar uma propriedade ou procedimento com uma assinatura diferente às vezes é chamado de ocultação por assinatura.
Regras
Contexto da declaração. Você só pode usar
Overloads
em uma instrução de declaração de propriedade ou procedimento.Modificadores combinados. Você não pode especificar
Overloads
junto com Sombras na mesma declaração de procedimento.Diferenças necessárias. A assinatura nesta declaração deve ser diferente da assinatura de cada propriedade ou procedimento que ela sobrecarrega. A assinatura é composta pelo nome da propriedade ou do procedimento junto 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 (somente para um procedimento de operador de conversão)
Todas as sobrecargas devem ter o mesmo nome, mas cada uma deve ser diferente de todas as outras em um ou mais dos aspectos anteriores. Isso permite que o compilador distingue qual versão usar quando o código chama a propriedade ou o procedimento.
Diferenças não permitidas. A alteração de uma ou mais das seguintes opções não é válida para sobrecarregar uma propriedade ou procedimento, pois elas não fazem parte da assinatura:
se ele retorna ou não um valor (para um procedimento)
o tipo de dados do valor retornado (exceto para um operador de conversão)
os nomes dos parâmetros ou dos parâmetros de tipo
as restrições nos parâmetros de tipo (para um procedimento genérico)
palavras-chave do modificador de parâmetro (como
ByRef
ouOptional
)palavras-chave do modificador de propriedade ou de procedimento (como
Public
ouShared
)
Modificador opcional. Você não precisa usar o modificador
Overloads
quando estiver definindo várias propriedades ou procedimentos sobrecarregados na mesma classe. No entanto, se você usarOverloads
em uma das declarações, deverá usá-la 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. Ao usarOverloads
dessa maneira, você declara a propriedade ou método com o mesmo nome e a mesma lista de parâmetros do membro da classe base e não fornece a palavra-chaveShadows
.
Se você usar Overrides
, o compilador adicionará Overloads
implicitamente para que as APIs de biblioteca trabalhem com o C# com mais facilidade.
O modificador Overloads
pode ser usado nestes contextos: