Os delegados são frequentemente usados em C# para implementar eventos e retornos de chamada. Ao criar um delegado que pode ser atribuído a um método, você pode criar um mecanismo para que outras partes do seu código sejam notificadas quando um determinado evento ocorrer ou fornecer um método a ser chamado quando uma determinada ação for concluída. Os delegados são uma ferramenta poderosa no idioma C# e são uma parte essencial de muitas técnicas avançadas de programação.
Delegados em C#
O delegado é semelhante a um ponteiro de função em C ou C ++, mas com recursos adicionais, como a combinação de vários métodos em um único delegado, invocando uma lista de métodos em sequência e passando parâmetros para os métodos, aqui está a sintaxe para ele:
delegado público( )
Na sintaxe acima, está o tipo de retorno do método que o delegado aponta para. é o nome do delegado e são os parâmetros que o método leva.
Como usar os delegados em C#
Para usar um delegado, você deve definir um tipo de delegado primeiro, que especifica a assinatura do método ou métodos que ele pode referenciar. Um tipo de delegado pode ser definido usando a palavra -chave delegada, seguida pelo tipo de retorno, o nome do delegado e a lista de parâmetros para o método ou métodos que ele pode referenciar. Para ilustrar o uso de delegados em C Sharp, forneci um código de exemplo que execute uma adição e subtração simples:
usando o sistema;
Delegado Public Int PerformCalculation (int x, int y);
Calculadora de classe pública
public int add (int x, int y)
retornar x + y;
public int subtract (int x, int y)
retornar x - y;
programa de classe
estático void main (string [] args)
Calculadora calculadora = nova calculadora ();
PerformCalCulation calculationDelegate = Calculadora.Adicionar;
int resultado = cálculoDelegate (5, 3);
Console.WriteLine ($ "adição = resultado");
calculationDelegate = calculadora.Subtrair;
resultado = cálculoDelegate (5, 3);
Console.WriteLine ($ "subtração = resultado");
Console.Leia a linha();
Primeiro, é definido o delegado performCalculation que leva dois parâmetros inteiros e, em retorno, dá um número inteiro. Ele também define uma classe de calculadora com dois métodos: adicione e subtrair que executem operações de adição e subtração, respectivamente.
No método principal, uma instância da classe da calculadora é criada e, em seguida, o método Add é atribuído a um delegado de cálculo variávelDelegate. Isso significa que o cálculoDelegate agora pode ser usado para chamar o método ADD da classe de calculadora. O método ADD é chamado usando cálculoDelegate com os argumentos 5 e 3.
Em seguida, o cálculo elegate é atribuído ao método subtraído da classe da calculadora. Isso significa que o cálculoDelegate agora pode ser usado para chamar o método subtraído da classe da calculadora. O método subtraído é chamado usando cálculoDelegate com os argumentos 5 e 3. A função readLine () é chamada para impedir que a janela do console se feche imediatamente, aqui está a saída do código:
Conclusão
Os delegados são comumente usados em C# para manuseio de eventos, funções de retorno de chamada e como uma maneira de passar funções como argumentos para outras funções. Eles fornecem uma maneira flexível de lidar.