Tengo un control ContextMenuStrip que le permite ejecutar una acción con dos sabores diferentes: Sync
y Async
.Acción T síncrona y asíncrona
estoy tratando de cubrir todo el uso de los genéricos, así que hice esto:
public class BaseContextMenu<T> : IContextMenu
{
private T executor;
public void Exec(Action<T> action)
{
action.Invoke(this.executor);
}
public void ExecAsync(Action<T> asyncAction)
{
// ...
}
¿Cómo puedo escribir el método asíncrono con el fin de ejecutar la acción genérica y 'hacer algo' con el menú en el ínterin? vi que la firma de BeginInvoke
es algo así como:
asyncAction.BeginInvoke(this.executor, IAsyncCallback, object);
déjame echar un vistazo – Raffaeu
Gracias, esto es lo que estaba buscando. Solo tuve un problema con la expresión lambda, no necesité un curso sobre programación multiproceso. ;-) – Raffaeu
+1 para la ref. al artículo de Jeff. Eso fue realmente perspicaz y me ayudó mucho. – IAbstract