CS1673 de erro do compilador
Mensagem de erro
Métodos anônimo, expressões lambda e expressões de consulta dentro de structs não podem acessar membros de instância de 'this'.Considere Copie 'this' para uma variável local fora do método anônimo, expressão lambda ou expressão de consulta e use o local em seu lugar.
O exemplo a seguir gera CS1673:
// CS1673.cs
delegate int MyDelegate();
public struct S
{
int member;
public int F(int i)
{
member = i;
// Try assigning to a local variable
// S s = this;
MyDelegate d = delegate()
{
i = this.member; // CS1673
// And use the local variable instead of "this"
// i = s.member;
return i;
};
return d();
}
}
class CMain
{
public static void Main()
{
}
}