Delegados em C# - Como usá -lo

Delegados em C# - Como usá -lo

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.