J'ai rencontré quelque chose de bizarre, et je ne suis pas sûr que ce soit un bug dans Visual Studio, ou si mon ignorance me joue des tours.Bug de Visual Studio?
J'ai deux variables de classe privées:
class MyClass
{
private MyList<A> aList;
private MyList<B> bList;
[...]
Et quelque part le long du code, j'utilise ces variables pour la première fois.
public void MyMethod()
{
object[] generatorOutput = Generator.Generate(args);
aList = (MyList<A>)generatorOutput[0];
bList = (MyList<B>)generatorOutput[1];
[...]
Pourtant, Visual Studio me dit que bList est erroné:
Cannot use local variable 'bList' before it is declared.
The declaration of the local variable hides the Field 'MyNameSpace.MyClass.bList'.
Je ne comprends pas vraiment ce que signifie Visual Studio. Je ne pas veut que bList soit local, et c'est pas censé cacher quoi que ce soit.
Si ça aide: bList était à l'origine appelé cList et était un MyList<C>
avant que je décide, qu'un MyList<B>
était plus que suffisant. Le message d'erreur est apparu seulement après avoir renommé la variable et changé son type. Le generatorOutput est toujours moulé dans le bon type, d'ailleurs.
Alors, est-ce un bug, ou est-ce que je manque quelque chose d'évident? Je l'ai déjà essayé de compiler le code, la réécriture de la ligne et même redémarrer Visual Studio sans succès ...
peut vous montrer votre code réel pour ' MyMethod'? –
Comme il est dit dans The Pragmatic Programmer (citée en gros): "Ne supposez jamais que la faute est dans le jeu d'outils que vous utilisez jusqu'à ce que vous ayez écarté toutes les autres raisons." – JasCav
L'erreur pointe-t-elle vraiment vers les lignes de MyMethod()? – okrumnow