![]() |
Created by Thiago Russo
over 8 years ago
|
|
Question | Answer |
O que são eventos? | Um evento pode ser usado para fornecer notificações. Você pode se inscrever (assinar) em um evento se você estiver interessado nestas notificações. Você também pode criar seus próprios eventos e criá-los para fornecer notificações quando algo interessante acontece. |
O que é um delegate? (encarregar, delegar) | delegates formam os blocos de construção básicos para eventos. É um tipo que define uma assinatura de um método. Em C ++, vc faria isso com um ponteiro de função. Em C # vc pode instanciar um delegate e deixá-lo apontar para outro método. Você pode invocar o método através do delegado. |
exemplo de delegate |
Image:
Delegate (image/png)
|
multicast delegate | Outra característica dos delegates é que você pode combiná-los. Isso é chamado de multicasting. Vc pode usar o operador + = ou + para adicionar outro método para a lista de invocação de uma instância delegate existente |
exemplo de multcast delegate | |
covariância e contravariância | Qdo vc atribuir um método a um delegate, a assinatura do método ñ tem de coincidir com o delegate exatamente. Isso é chamado de covariância e contravariância. Covariance torna possível q um método tenha um tipo de retorno que é mais derivada do que a definida no delegate. Contravariance permite um método q tem tipos de parâmetros q são menos do q os derivados do tipo delegado. |
exemplo de covariance |
Image:
Covariance (image/png)
|
exemplo de contravariance |
Image:
Contravariancia (image/png)
|
Want to create your own Flashcards for free with GoConqr? Learn more.