Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
I metodi anonimi, le espressioni lambda e le espressioni di query all'interno delle strutture non possono accedere ai membri di istanza di 'this'. Si consiglia di copiare 'this' in una variabile locale all'esterno del metodo anonimo, dell'espressione lambda e dell'espressione di query e di utilizzare invece tale variabile.
Anonymous methods, lambda expressions, and query expressions inside structs cannot access instance members of 'this'. Consider copying 'this' to a local variable outside the anonymous method, lambda expression or query expression and using the local instead.
Il seguente codice di esempio genera l'errore 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()
{
}
}