Я столкнулся с чем-то странным, и я не уверен, что это ошибка в Visual Studio, или, может быть, мое невежество обманывает меня.
У меня есть две частные переменные класса:
class MyClass
{
private MyList<A> aList;
private MyList<B> bList;
[...]
И где-то в коде я впервые использую эти переменные.
public void MyMethod()
{
object[] generatorOutput = Generator.Generate(args);
aList = (MyList<A>)generatorOutput[0];
bList = (MyList<B>)generatorOutput[1];
[...]
Тем не менее Visual Studio говорит мне, что bList неверен:
Cannot use local variable 'bList' before it is declared.
The declaration of the local variable hides the Field 'MyNameSpace.MyClass.bList'.
Я не очень понимаю, что означает Visual Studio. Я не хочу, чтобы bList был локальным, и он не должен скрывать что-либо.
Если это поможет: bList изначально назывался cList и был MyList<C>
, прежде чем я решил, что MyList<B>
было более чем достаточно. Сообщение об ошибке появляется только после переименования переменной и изменения ее типа. Кстати, generatorOutput всегда приводится к правильному типу.
Итак, это ошибка, или я упускаю что-то очевидное?
Я уже пытался скомпилировать код, переписать строку и даже перезапустить Visual Studio безуспешно ...