Definição – o que significa delegado?
Um delegado é um ponteiro de função orientado a objeto, gerenciado, seguro e com segurança de tipo na estrutura .NET. Uma assinatura de delegado inclui seu nome, tipo de retorno e argumentos passados a ele. Em vez de passar dados, um delegado passa um método para outro método. Os delegados são usados em muitos contextos, incluindo a implementação de retornos de chamada e manipuladores de eventos, pontos de thread de entrada e vários tipos de especificações de método. Como um delegado não conhece a classe de um objeto referenciado, ele é usado para invocação anônima.
Definirtec explica Delegado
O objetivo principal de um delegado é vincular o objeto delegado ao chamador, o que significa que a referência de método chamada não requer especificação em tempo de compilação. Os delegados desempenham um papel vital no modelo de programação orientado a eventos, onde os manipuladores de eventos são adicionados aos controles da interface do usuário (UI).
Os tipos de delegado são:
- Elenco único: aponta para um único método
- Multicast: refere-se a vários métodos, cada um com a mesma assinatura e inclui apenas métodos que retornam void para evitar exceção durante o tempo de execução
Outros recursos de delegado são os seguintes:
- Eles são executados sob as permissões do chamador e do declarante.
- Objetos delegados são imutáveis.
- Seu modificador de acesso padrão é privado (interno) ou público.
- Um delegado pode ser usado somente após a instanciação.
- Os delegados podem ser declarados como tipos aninhados com modificadores de acessibilidade para a classe ou estrutura que os contém. No caso de falha durante a execução do método de delegado, a exceção lançada é passada de volta para o chamador do delegado e outras invocações são interrompidas.