Errore del compilatore CS0844
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.
Usare
this.num
per fare riferimento al campo della classe.Assegnare alla variabile locale un nome diverso dal campo della classe.
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;
}
}
class Test
{
int num;
public void TestMethod()
{
this.num = 5; // Error fixed.
int num = 6;
}
public static int Main()
{
return 1;
}
}
class Test
{
int num;
public void TestMethod()
{
num = 5; // Error fixed.
int num2 = 6;
}
public static int Main()
{
return 1;
}
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: