Compilador y compatibilidad con Common Language Runtime

Cuando el compilador emite la clase del delegado FactorizingAsyncDelegate tras analizar su definición (como se muestra a continuación), genera los métodos BeginInvoke y EndInvoke mediante firmas de métodos asincrónicos, además del método Invoke, como se muestra en el siguiente ejemplo:

public class FactorizingAsyncDelegate : delegate
{
   public bool Invoke(
         int factorizableNum,  
         ref int primefactor1,
         ref int primefactor2);

   // The following code was supplied by the compiler.
   public IAsyncResultBeginInvoke(
         int factorizableNum,  
         ref int primefactor1,
         ref int primefactor2,
         AsyncCallback cb,Object AsyncState
         );

   // The following code was supplied by the compiler.
   public bool EndInvoke(
         ref int primefactor1,
         ref int primefactor2,
         IAsyncResult ar);
}

Vea también

Delegados asincrónicos | Ejemplo de programación de delegados asincrónicos