Erreur du compilateur CS0136
Une variable locale nommée 'var' ne peut pas être déclarée dans cette portée car elle modifierait la signification de 'var', déjà utilisée dans une portée parent ou actuelle/enfant pour désigner autre chose
Une déclaration de variable masque une autre déclaration qui serait normalement dans la portée. Renommez la variable déclarée sur la ligne qui a généré l’erreur CS0136.
L’exemple suivant génère l’erreur CS0136 :
// CS0136.cs
namespace MyNamespace
{
public class MyClass
{
public static void Main()
{
int i = 0;
{
char i = 'a'; // CS0136, hides int i
}
i++;
}
}
}
D’après la spécification du langage C# :
Le fait qu’un espace de déclaration de variable locale et un espace de déclaration de variable locale imbriqué contiennent des éléments portant le même nom constitue une erreur. Ainsi, dans un espace de déclaration imbriqué, il est impossible de déclarer une variable locale ou une constante portant le même nom qu’une variable locale ou qu’une constante au sein d’un espace de déclaration englobant. Deux espaces de déclaration peuvent contenir des éléments qui portent le même nom à condition qu’aucun des deux espaces ne contienne l’autre.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :