Un breve análisis del mecanismo de procesamiento de eventos de Java y C# (2)
\Se puede ver en el programa que la clase Modelo de origen del evento llama explícitamente al método modelChanged en la interfaz y, de hecho, pasa el objeto de estado del evento e como parámetro al método modelChanged en la clase de escucha
Clase de adaptación
La clase de adaptación es una parte extremadamente importante del modelo de eventos de Java. En algunas aplicaciones, la transmisión de eventos desde el origen al oyente debe reenviarse a través de la clase de adaptación. Por ejemplo, cuando el origen del evento emite Un evento tiene varios objetos de escucha de eventos que pueden recibir el evento, pero solo cuando el objeto especificado responde, se debe insertar una clase de adaptador de eventos entre el origen del evento y el detector de eventos. La clase de adaptador especifica cuál. oyentes el evento debería ser La clase de adaptador se convierte en el oyente de eventos en respuesta. La fuente del evento en realidad registra la clase de adaptador como un oyente en la cola de oyentes, pero el respondedor de eventos real no está en la cola de oyentes. Lo que se debe hacer está determinado por la clase de adaptador. Las clases coincidentes determinan que la mayoría de las herramientas de desarrollo actuales manejan eventos a través de clases de adaptador al generar código.
Procesamiento de eventos C#
En el desarrollo de aplicaciones NET, ya sea. Tanto WEB Forms (ASP NET) como Windows Forms implican respuesta a eventos y procesamiento de una gran cantidad de objetos. Por ejemplo, cuando un cliente envía un pedido en línea o mueve el mouse en una ventana de Windows, se producirán eventos. un evento en C# y proporcionarlo para el evento? ¿Qué pasa si agregamos métodos de respuesta a los eventos?
En C#, el miembro de evento se usa para declarar un evento de clase. Para declarar un miembro de evento en una clase, generalmente se usa la siguiente sintaxis
. nombre del representante del evento público nombre del evento
Si un miembro del evento Click se declara en la clase Control, la sintaxis es la siguiente
evento público EventHandler Click
Agregado; en C# Se crea un nuevo delegado de tipo de datos para resolver el problema del procesamiento de eventos. El tipo de datos representativo es muy similar al puntero en el lenguaje C. La diferencia con el puntero es que el código es seguro y manejable. de C#, es adecuado para aquellos que no han usado C y también es muy fácil de entender delegado en programas de puntero
Al usar delegado en C#, puede agregar fácilmente uno o incluso varios métodos de respuesta a un evento en el objeto Net a través del operador += Cancele estos métodos de respuesta a través de un operador = muy simple, como la siguiente declaración para agregar un evento Click para el botón temporal
temp Click+=new System EventHandler. (esta prueba);//Agregue un método de procesamiento de eventos para la prueba
En la declaración que declara el evento anterior, Eventhandler es un tipo de delegado que se declara de la siguiente manera en la biblioteca de clases Net
public delegado void EventHandler(objeto remitente EventArgs e);
De esta manera, todas las funciones en el formulario: nombre de función void (nombre del parámetro del objeto EventArgs nombre del parámetro se puede utilizar como método de respuesta del evento Click); de la clase Control, como un método de respuesta a eventos definido a continuación
botón de anulación privada _Click(object sender System EventArgs e)
Dado que los eventos se manejan a través de delegados, es posible hacer un evento tiene múltiples métodos de respuesta mediante acumulación. Al mismo tiempo, un método se puede usar como método de respuesta de múltiples eventos (tenga en cuenta que solo pueden aparecer los operadores += y =, que representan agregar y cancelar funciones de respuesta a eventos). después del miembro del evento en la clase de lenguaje C#) Ya sea ASP Net o
Es programación general de Windows Forms en C#. Básicamente, los métodos de respuesta a eventos que encontramos se describen en el siguiente formulario
botón vacío privado _Click(object sender System EventArgs e)
Entonces debe. ¿Se arreglarán los derechos de acceso, los parámetros del tipo de valor de retorno, los tipos e incluso los nombres de los métodos de un método de respuesta a eventos? ¡La respuesta es no!
Generalmente, hay dos parámetros en el método de respuesta al evento, uno de los cuales representa el objeto que desencadenó el evento, es decir, el remitente. Dado que el objeto que desencadenó el evento es impredecible, lo declaramos como un tipo de objeto. y es aplicable a todos los objetos. El segundo parámetro representa la información específica que desencadena el evento. Varios tipos de eventos pueden ser diferentes. Esto depende de la descripción del miembro del evento en la clase.
Lo sabemos. que el evento se procesa a través del delegado. Suponiendo que el evento se describirá como En el siguiente formulario
delegado int MyEventHandler(objeto remitente ToolBarButtonClickEventArgs e
Cuando se trata de La declaración de función de respuesta a eventos anterior, debe declararse de la siguiente forma
private int MyTest(object sender ToolBarButtonClickEventArgs e) {}
Al agregar un método de respuesta a eventos a un objeto, puedes usar el siguiente código para implementarlo
Control Event+=new MyEventHandler(MyTest/Article/program/net/201311/14835
;