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.
Non è possibile usare la variabile locale 'name' prima che sia dichiarata. La dichiarazione della variabile locale nasconde il campo 'name'.
Un identificatore può avere solo uno significato in un blocco specificato. Le variabili locali che hanno lo stesso nome dei campi della classe possono nascondere il campo introducendo un secondo significato per l'identificatore. Il compilatore genera quindi un errore quando si fa riferimento a un campo della classe in un metodo e si dichiara quindi una variabile locale con lo stesso nome.
Per correggere l'errore
Usare
this.numper fare riferimento al campo della classe.Assegnare alla variabile locale un nome diverso dal campo della classe.
Esempio
Il codice seguente genera l'errore CS0844:
class Test
{
int num;
public void TestMethod()
{
num = 5; // CS0844
int num = 6;
}
public static int Main()
{
return 1;
}
}
Correggere l'errore usando this.num per fare riferimento al campo della classe
class Test
{
int num;
public void TestMethod()
{
this.num = 5; // Error fixed.
int num = 6;
}
public static int Main()
{
return 1;
}
}
Correggere l'errore assegnando alla variabile locale un nome diverso dal campo della classe
class Test
{
int num;
public void TestMethod()
{
num = 5; // Error fixed.
int num2 = 6;
}
public static int Main()
{
return 1;
}
}