CS1706 de erro do compilador

Mensagem de erro

Expressão não pode conter métodos anônimo ou expressões lambda

Não é possível inserir um método anônimo dentro de uma expressão.

Para corrigir este erro

  • Use um regular delegate na expressão.

Exemplo

O exemplo a seguir gera CS1706.

// CS1706.cs
using System;

delegate void MyDelegate();
class MyAttribute : Attribute
{
    public MyAttribute(MyDelegate d) { }
}

// Anonymous Method in Attribute declaration is not allowed.
[MyAttribute(delegate{/* anonymous Method in Attribute declaration */})]  // CS1706
class Program
{
}