Erreur du compilateur CS0844
Impossible d’utiliser la variable locale 'name' avant de la déclarer La déclaration de la variable locale masque le champ 'name'.
Un identificateur ne peut avoir qu’une seule signification dans un bloc donné. Les variables locales qui portent le même nom en tant que champs de classe peuvent masquer le champ en introduisant une deuxième signification pour l’identificateur. Ainsi, le compilateur génère une erreur quand vous faites référence à un champ de classe dans une méthode, puis déclarez une variable locale par le même nom.
Utilisez
this.num
pour faire référence au champ de classe.Donnez à la variable locale un autre nom que celui du champ de classe.
Le code suivant génère l’erreur 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;
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :