Compilerfout CS0136
Een lokale variabele met de naam 'var' kan niet in dit bereik worden gedeclareerd omdat deze een andere betekenis geeft aan 'var', die al wordt gebruikt in een 'bovenliggend of huidig/onderliggend' bereik om iets anders aan te geven
Een variabeledeclaratie verbergt een andere declaratie die anders binnen het bereik zou vallen. Wijzig de naam van de variabele die is gedeclareerd op de regel die CS0136 heeft gegenereerd.
In het volgende voorbeeld wordt CS0136 gegenereerd:
// CS0136.cs
namespace MyNamespace
{
public class MyClass
{
public static void Main()
{
int i = 0;
{
char i = 'a'; // CS0136, hides int i
}
i++;
}
}
}
Uit de C#-taalspecificatie:
Dit is een fout voor een lokale ruimte voor variabeledeclaratie en een geneste ruimte voor lokale variabeledeclaratie om elementen met dezelfde naam te bevatten. In een geneste declaratieruimte is het dus niet mogelijk om een lokale variabele of constante met dezelfde naam als een lokale variabele of constante in een ingesloten declaratieruimte te declareren. Het is mogelijk dat twee declaratieruimten elementen met dezelfde naam bevatten zolang geen van beide declaratieruimte de andere bevat.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: