¿Cuándo utilizar la delegación c#?
La delegación debería ser parte de la programación avanzada. He buscado durante mucho tiempo y la mayoría de la gente parece no entenderla en absoluto. Es simplemente copiar las cosas de otras personas. Según tengo entendido, simplemente lo compartiré contigo. Hablemos de ello, no es demasiado profesional, ¡pero deberías poder entenderlo!
------------------------------------------- ----- ----------------
Un delegado es en realidad una clase en Net Framework, por lo que al definirlo, puede encontrar un lugar para definirlo, como en otras clases. Puedes definirlo dentro o directamente debajo del espacio de nombres. Además, como también es una clase, debes crear una instancia al usarlo, por ejemplo:
delegate int; MyDelegate(int i);
// La oración anterior es para declarar un delegado, donde la llamada firma en Internet se refiere al tipo de retorno int y al parámetro int i después de declarar este delegado; , solo se puede vincular al método con la misma firma, por ejemplo:
//MyMethod es el método que desea llamar más tarde. Su firma debe ser coherente con la del delegado, es decir, tiene el mismo tipo de retorno y parámetros
public int myMethod(int j) p>
{
return ++j;
}
El método se puede llamar directamente donde se crea una instancia del delegado
MyDelegate MyD=new MyDelegate("myMethod");//Instanciación
MyD(5) ;//Lo que realmente se llama aquí es el método meMethod, que devuelve 6;
-- ------------------------ -------------------------- ----------
¿Puedes entender aproximadamente el uso de ¿Estructura del programa?
En cuanto a su pregunta, ¿dónde y cuándo se debe utilizar la delegación?
En primer lugar, en el marco de red, la delegación a menudo está vinculada a eventos, por lo que es la base para implementar el mecanismo de procesamiento de eventos en el marco. El uso específico no se puede explicar claramente en unas pocas frases sencillas.
NET tiene sus propias especificaciones, por ejemplo, los parámetros de eventos deben heredar la clase EventArgs, la mayoría de los eventos terminan con EventHandler, etc. Si desea estudiar en profundidad, puede consultar la información relevante en el documento msdn. biblioteca para aprender.
Si escribe un proyecto de marco usted mismo, también puede tener sus propias especificaciones. Por ejemplo, puede usar la delegación cuando desee ejecutar dinámicamente un método:
public int myMethod(int j){}
Los parámetros de este método son de tipo int, por lo que solo puede pasar parámetros de fila int si cambia int a MyDelegate: public int meMethod(MyDelegate j) { }; //MyD es el delegado que definimos anteriormente
De esta manera, puede pasar un método con la misma firma que el delegado a este método myMethod. Debido a limitaciones de tiempo, no es demasiado detallado. Si tienen alguna pregunta, pueden discutirla juntos a través de baidu HI, o pueden dejarme un mensaje.
Está todo escrito a mano, léelo atentamente, ¡espero que pueda ayudarte y aprender unos de otros!
Además, muchos libros de texto comparan la delegación con la oficina de correos. Esta comprensión es bastante vívida, es decir, pedirle a la oficina de correos que nos ayude a hacer algo y luego enviarnos información relevante sobre la delegación y el evento. básicamente De esta forma podemos suscribirnos a la información que nos interesa mediante delegación, etc.