Índice:
Definição - O que significa Delegado?
Um delegado é um ponteiro de função orientado a objeto, gerenciado, seguro e com proteção de tipo na estrutura .NET. Uma assinatura de delegado inclui seu nome, tipo de retorno e argumentos passados para ela. Em vez de transmitir 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 encadeamento de entrada e vários tipos de especificações de métodos. Como um delegado não conhece a classe de um objeto referenciado, ele é usado para invocação anônima.
Techopedia explica Delegado
O objetivo principal de um delegado é vincular o objeto delegado ao responsável pela chamada, o que significa que a referência do método chamado 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 delegados são:
- Single-cast: 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 nulos para evitar exceção durante o tempo de execução
- Eles são executados sob permissões de chamador, versus declarador.
- Delegar objetos são imutáveis.
- Seu modificador de acesso padrão é privado (interno) ou público.
- Um delegado pode ser usado somente após instanciação.
- Os delegados podem ser declarados como tipos aninhados com modificadores de acessibilidade para sua classe ou estrutura que os contém. No caso de falha durante a execução do método delegado, a exceção lançada é retornada ao chamador do delegado e outras invocações são interrompidas.