Leggere in inglese

Condividi tramite


Errore del compilatore CS1688

Non è possibile convertire il blocco di metodi anonimi senza elenco parametri nel tipo delegato 'delegate' perché contiene uno o più parametri out

Nella maggior parte dei casi il compilatore consente l'omissione dei parametri da un blocco di metodi anonimi. Questo errore si verifica quando nel blocco di metodi anonimi non è presente un elenco di parametri, ma il delegato ha un parametro out . Il compilatore non consente questa situazione perché dovrebbe ignorare la presenza del parametro out , cosa che difficilmente rappresenta il comportamento corretto.

Esempio

Il codice seguente genera l'errore CS1688.

C#
// CS1688.cs  
using System;  
delegate void OutParam(out int i);  
class ErrorCS1676  
{  
    static void Main()
    {  
        OutParam o;  
        o = delegate  // CS1688  
        // Try this instead:  
        // o = delegate(out int i)  
        {
            Console.WriteLine("");  
        };  
    }  
}