Red de conocimiento de divisas - Consulta hotelera - No sé mucho sobre las funciones de devolución de llamada de C#. Primero definí una función de devolución de llamada, pero ¿está implementada en otro lugar?

No sé mucho sobre las funciones de devolución de llamada de C#. Primero definí una función de devolución de llamada, pero ¿está implementada en otro lugar?

La palabra "función de devolución de llamada" proviene de lenguajes de programación funcionales como Javascript. Este concepto no existe en C#, por lo que quien haga comentarios en tu código demuestra que no le gusta mucho C#.

CALLBACK es un delegado, que generalmente se traduce como "delegado" en los libros de texto chinos. De hecho, es como un puntero a una función en lenguaje C (esta es una metáfora para facilitar su comprensión, pero le sugiero que no solidifique el concepto de esta manera, porque hay muchos lugares que son completamente diferentes a los punteros). La definición de CALLBACK solo refleja una cosa: puede representar un método que acepta dos parámetros int y devuelve un bool especificado en el momento de la declaración. En otras palabras, CALLBACK representa una firma de método explícita, es decir, cualquier método que tome dos enteros como parámetros formales y devuelva un bool puede "representarse" (es decir, delegarse en él). Pero en cuanto a a qué método pertenece este método, cómo usar estos dos parámetros y qué bool se devuelve, eso es lo que el método delegado quiere implementar (al igual que lo que hace su método de informe).

CALLBACK myCallBack = new callback (report);

es la clave para usar la delegación, es decir: myCallBack es el delegado del informe (tenga en cuenta que no es la ejecución). del informe, pero la persona que llama a myCallBack. El método Invoke() en realidad ejecuta el informe. Como puede imaginar, dado que EnumWindows aceptó mi CallBack, definitivamente será llamado). Enviado a EnumWindows, EnumWindows no sabe qué método específico ejecuta. Solo necesita saber que myCallBack requiere dos ints como parámetros, también proporcionará estos dos parámetros y luego esperará a que se ejecute el método representado por myCallBack, y luego le dará un bool, y luego EnumWindows usará este bool para hacerlo. otras cosas, simplemente no habrá myCallBack. No sé si podrás entenderlo más claramente diciendo esto.

上篇: Modelo de motor confort automático Sagitar 1.4t 2019 下篇: Video en vivo de la NBA en línea (vea los últimos juegos y repeticiones de eventos)
Artículos populares