¿Cuál es el nombre del delegado predeterminado en C# que no toma parámetros y devuelve vacío? Recuerdo que existía tal delegado, pero no recuerdo su nombre.Delegado predeterminado en C#
Respuesta
Existen muchas de estas desasas, pero creo que usted está buscando Action
. Otra opción es MethodInvoker
(en System.Windows.Forms).
+ 1 de acción. –
¿Es solo para la versión 3.5 y superior? ¿Hay alguno para 2.0? – Tuxedo
@Tuxedo: 'MethodInvoker' ha estado presente desde 1.1. Si desea algo en el espacio de nombres 'System', está el' CrossAppDomainDelegate', pero su nombre es muy específico, por lo que probablemente parezca un poco extraño para un uso más general. –
Probablemente esté buscando "Action".
Algunos leer relacionados:
Antes de .NET 3.5, era bastante común para declarar su propio. Ahora, Action
es un buen candidato, pero ThreadStart
se usó comúnmente (bastante confusa), o MethodInvoker
si ya estaba haciendo referencia a winforms.
Una prueba rápida (nota, que se ejecuta en .NET 4.0, utilizando sólo algunas bibliotecas - por lo que no es exhaustiva):
var qry = from asm in AppDomain.CurrentDomain.GetAssemblies()
from type in asm.GetTypes()
where type.IsSubclassOf(typeof(Delegate))
let method = type.GetMethod("Invoke")
where method != null && method.ReturnType == typeof(void)
&& method.GetParameters().Length == 0
orderby type.AssemblyQualifiedName
select type.AssemblyQualifiedName;
foreach (var name in qry) Console.WriteLine(name);
muestra algunos más candidatos:
System.Action, mscorlib...
System.CrossAppDomainDelegate, mscorlib...
System.IO.Pipes.PipeStreamImpersonationWorker, System.Core...
System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack, System.Core...
System.Net.UnlockConnectionDelegate, System...
System.Runtime.Remoting.Contexts.CrossContextDelegate, mscorlib...
System.Threading.ThreadStart, mscorlib...
System.Windows.Forms.AxHost+AboutBoxDelegate, System.Windows.Forms...
System.Windows.Forms.MethodInvoker, System.Windows.Forms...
Voto por alternar entre AxHost.AboutBoxDelegate y LambdaCompiler.WriteBack. Comenzaré a extraer usos de "Acción" de mi código de inmediato. –
me puede interpretar su pregunta de manera diferente para todos los demás, pero:
Si está pensando en el delegado para el manejo de eventos, la convención es usar EventHandler. Este delegado no toma los parámetros 'no', pero esencialmente no tiene información.
En .NET 2.0 el delegado MethodInvoker
es la manera recomendada. Es el más genérico. Como su nombre lo sugiere, invoca un método. Otros pueden tener las mismas propiedades que usted describió, pero tienen un nombre diferente que sugiere otros usos o usos muy específicos en áreas específicas.
- 1. Delegado en C++ 11
- 2. patrón Delegado vs palabra clave delegado en C#
- 3. C# Delegado de propiedad?
- 4. C#: delegado de acción frente a delegado explícito
- 5. Optimizador del compilador delegado C#
- 6. delegado C# y clase abstracta
- 7. Alcance de un delegado en C#
- 8. Implementación de delegado anónimo en Objective-C?
- 9. Rendimiento delegado C# en el juego xna
- 10. Información sobre delegado de acción en C#
- 11. atexit, delegado de salida en C#
- 12. Inline declaración de delegado (C#)
- 13. ¿Hay un delegado que no sea un delegado de multidifusión en C#?
- 14. ¿Qué es un delegado de C++?
- 15. delegado C# no funciona como debería?
- 16. delegado C# Func con el tipo params
- 17. C# genéricos no permitirá Delegado Tipo Restricciones
- 18. C# P/Invoke: llamada de delegado Varargs
- 19. C# delegado y atributos pregunta sintaxis
- 20. C# - ¿Cómo puedo "sobrecargar" a un delegado?
- 21. Rendimiento de reflexión - Crear delegado (Propiedades C#)
- 22. Asignación de un método IronPython a un C# delegado
- 23. delegado resultados
- 24. Tipo seguro de invocación de delegado asíncrono en C#
- 25. un constructor como delegado: ¿es posible en C#?
- 26. El uso de std :: función como delegado en C++ 11
- 27. Invocar un delegado en un hilo específico C#
- 28. Problema con la sintaxis de delegado en C#
- 29. Disparar un evento en C# sin métodos de delegado adjuntos?
- 30. ¿Cómo subclonar apropiadamente una propiedad de delegado en Objective-C?
¿Cuál es el nombre de ese motor de búsqueda que puede usar para encontrar cosas? ;) http://www.google.se/search?q=c%23+delegate+no+parameters+returns+void – Guffa
@Guffa: Lo que ahora pasa a señalar esta pregunta ... – davidg
@davidg: Eso generalmente ocurre después de solo unos minutos, independientemente de si hay alguna respuesta útil o no. El hecho de que algo aparezca en un resultado de google no garantiza que haya información útil allí ... – Guffa