CS1688 de erro do compilador
Mensagem de erro
Não é possível converter método anônimo bloco sem uma lista de parâmetro delegado tipo 'delegado' porque possui um ou mais parâmetros out
O compilador permite que os parâmetros que serão omitidos de um método anônimo bloquear na maioria dos casos.Este erro surge quando o bloco de métodos anônimo não tiver uma lista de parâmetros, mas o delegado tem um out parâmetro. O compilador não permite essa situação porque seria necessário ignorar a presença do out parâmetro, que é improvável que seja o comportamento correto.
Exemplo
O código a seguir gera erro CS1688.
// 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("");
};
}
}