Qual è il nome del delegato predefinito in C# che non accetta parametri e restituisce void? Ricordo che esisteva un tale delegato ma non ricordo il suo nome.Delegato predefinito in C#
risposta
Ci sono molti di questi delgati, ma penso che stiate cercando Action
. Un'altra opzione è MethodInvoker
(in System.Windows.Forms).
+ 1 per Azione. –
Solo per la versione 3.5 e successive? Ce ne sono per 2.0? – Tuxedo
@Tuxedo: 'MethodInvoker' è in circolazione dal 1.1. Se vuoi qualcosa nello spazio dei nomi 'System' c'è il' CrossAppDomainDelegate', ma il suo nome è così specifico che probabilmente sembrerà un po 'strano per un uso più generale. –
Probabilmente stai cercando "Action".
qualche lettura correlato:
Prima di .NET 3.5, era abbastanza comune per dichiarare il proprio. Ora, Action
è un buon candidato, ma è stato comunemente utilizzato ThreadStart
(abbastanza confusamente), oppure MethodInvoker
se si stava già facendo riferimento a winform.
Un test rapido (nota, in esecuzione in .NET 4.0, utilizzando solo alcune librerie - quindi non esaustivo):
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);
mostra alcuni più candidati:
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...
Voterò per alternare AxHost.AboutBoxDelegate e LambdaCompiler.WriteBack. Inizierò immediatamente a rippare gli usi di "Azione" dal mio codice. –
I può essere Interpretariato la tua domanda in modo diverso a tutti gli altri, ma:
Se stai pensando al delegato da utilizzare per la gestione degli eventi, la convenzione è quella di utilizzare EventHandler. Questo delegato non accetta i parametri 'no', ma è essenzialmente privo di informazioni.
In .net 2.0 il delegato MethodInvoker
è il modo consigliato. È il più generico. Come suggerisce il nome, invoca un metodo. Altri potrebbero avere le stesse proprietà che hai descritto, ma hanno un nome diverso che suggerisce altri usi o usi molto specifici in aree specifiche.
- 1. Delegato in C++ 11
- 2. C#: Azione delegato vs delegato esplicito
- 3. Fusioni delegato Func in C#
- 4. C# Delegato proprietà?
- 5. C# delegato v.s. eventHandler
- 6. Dimensione parametro delegato C#
- 7. Come fornire un valore predefinito per un parametro di tipo delegato in C#?
- 8. Costruttore predefinito in C
- 9. Problema con il delegato Sintassi in C#
- 10. Ambito di un delegato in C#
- 11. Implementazione delegato anonimo in Objective-C?
- 12. Che cos'è un delegato C++?
- 13. C# delegato e classe astratta
- 14. C# nuovo [delegato] non necessario?
- 15. Come convertire un delegato in delegato identico?
- 16. firmato come predefinito in C
- 17. predefinito DataSource in ComboBox C#
- 18. Posso passare delegato come parametro obiettivo-c
- 19. C# delegato funzionale con parametri tipo
- 20. Il delegato C# non funziona come dovrebbe?
- 21. Chiamare IronRuby da C# con un delegato
- 22. Delegato per qualsiasi tipo di metodo - C#
- 23. Come funziona un delegato nell'obiettivo C?
- 24. Parola chiave delegato o delegato
- 25. Prestazioni del delegato C# nel gioco xna
- 26. Valore argomento predefinito C++
- 27. Anonimo delegato C# all'interno di un loop
- 28. Come aggiungere un delegato a un'interfaccia C#
- 29. Assegnazione di un metodo di IronPython a un C# delegato
- 30. C# per C++ 11 di conversione: i modelli delegato
Qual è il nome di quel motore di ricerca che è possibile utilizzare per trovare le cose con? ;) http://www.google.se/search?q=c%23+delegate+no+parameters+returns+void – Guffa
@Guffa: che ora torna a questa domanda ... – davidg
@davidg: Che di solito accade dopo pochi minuti, indipendentemente dal fatto che ci siano o meno risposte utili. Solo perché qualcosa appare in un risultato di Google non garantisce che ci siano informazioni utili lì ... – Guffa