Läs på engelska

Dela via


Kompilatorfel CS1688

Det går inte att konvertera anonymt metodblock utan en parameterlista för att delegera typen "ombud" eftersom den har en eller flera parametrar

Kompilatorn tillåter att parametrar utelämnas från ett anonymt metodblock i de flesta fall. Det här felet uppstår när det anonyma metodblocket inte har någon parameterlista, men ombudet har en out parameter. Kompilatorn tillåter inte den här situationen eftersom den skulle behöva ignorera förekomsten av parametern out , vilket sannolikt inte är rätt beteende.

Exempel

Följande kod genererar felet 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("");  
        };  
    }  
}