No puedo ser el único que se cansa de definir y nombrar a un delegado para una sola llamada a algo que requiere un delegado. Por ejemplo, quería llamar .Refresh() en una forma de posiblemente otros hilos, así que escribí este código:delegados anónimos en C#
private void RefreshForm()
{
if (InvokeRequired)
Invoke(new InvokeDelegate(Refresh));
else
Refresh();
}
Ni siquiera estoy seguro de que he a, acabo de leer lo suficiente como para tener miedo de que no funcionará en una etapa posterior.
InvokeDelegate se declara realmente en otro archivo, pero ¿necesito Realmente necesito un delegado completo dedicado solo para esto? ¿no hay delegados genéricos en absoluto?
Quiero decir, por ejemplo, hay una clase Pen, pero también hay Bolígrafos. pluma de elección por lo que no tiene que volver a hacer la secuencia completa. No es lo mismo, pero espero que entiendas lo que quiero decir.
No hay "delegados anónimos" en C#. Hay delegados (como lo que estás usando) y métodos anónimos (a los que solo se puede acceder a través de un delegado). – Lucas
Supongo que como la especificación de C# usa el término "método anónimo" sería la forma correcta. Sin embargo, muchas personas utilizan este término para referirse a un delegado instanciado con un método anónimo como parámetro. Por lo tanto, significan lo mismo, pero el contexto en el que alguien podría usar un término sobre otro depende a menudo de si hay una asignación de delegado o si el método anónimo se transfiere directamente a otro método. Doy la bienvenida a cualquier argumento en contra. –