Visual Studio Bug?
本文关键字:Bug Studio Visual | 更新日期: 2023-09-27 18:21:58
我遇到了一些奇怪的事情,我不确定这是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总是被转换成正确的类型。
那么,这是一个bug,还是我遗漏了一些明显的东西?我已经尝试过编译代码、重写行,甚至重新启动Visual Studio,但都没有成功。。。
我假设您的MyMethod
继续如下:
public void MyMethod()
{
object[] generatorOutput = Generator.Generate(args);
aList = (MyList<A>)generatorOutput[0];
bList = (MyList<B>)generatorOutput[1];
// ...
var bList = new MyList<B>(); // <---