É uma comissão? Um delegado é um objeto seguro para tipos que aponta para outro método (ou métodos) no programa que será chamado posteriormente. Em termos leigos, um delegado é um objeto que pode referenciar um método e, quando um delegado é criado, ele cria um objeto que faz referência ao método, e então o método pode ser chamado, ou seja, o delegado pode chamar o método ao qual se refere.
Como uso delegação? 1. Defina o tipo de entruste
[modificador de acesso]delegado retorna tipo nome do delegado (parâmetro);
2. Declarar o objeto confiado
Nome do Delegado O nome da instância delegada;
3. Criar um objeto de delegação (determinar a qual método vincular)
Nome da instância do delegado=nome do novo delegado (método de uma determinada classe)
4. Utilize o método de chamada confiada
Nome da instância delegada (parâmetro)
Precauções para a confiança:1. A delegação e o método devem ter os mesmos parâmetros.
2、Um delegado pode chamar múltiplos métodos, ou seja, um delegado pode manter uma lista de métodos chamáveis em vez de um único método, conhecido como multicast (multicast)。
3、Implementar métodos aumenta e diminui usando operações += e -=
Exemplo:
Escrita:
1. Nome do Delegado = novo Delegado (nome do método que será chamado); Nome da ordem (parâmetro);
2. Delegado Nome do delegado = nome do método que será chamado; Nome da ordem (parâmetro);
3. Método anônimo
delegar nome do delegado=delegado(parâmetro){corpo do método que será chamado}; Nome da ordem (parâmetro);
4. Expressão lambda
Nome da Ordem do Delegado=((Parâmetro 1,。。 parâmetro n)=>{corpo do método que será chamado}); Nome da ordem (parâmetro);
5. Use Ação <T>e Func<T>, o primeiro não tem valor de retorno
Func< Parâmetro 1, Parâmetro 2, Devolver Valor> Nome do Delegado = ((Parâmetro 1, Parâmetro 2) => {Corpo do Método com Valor de Retorno }); Valor de retorno = nome da ordem (parâmetro 1, parâmetro 2);
Código de adesivo:
|