刚刚打上vs2008 sp1就发现了个让人倒胃口的bug。
sp1把C#的即时语法检测提高了一个层次,可以检测一些简单的逻辑错误。而就是在这里,出现了恶心的bug。
A.cs文件中建立一个class A,带个public属性Q,然后在b.cs文件中建立一个class B : A,并且使用Q。全部保存后同时打开两个文件,在A.cs中修改类名A,或修改属性Q的名字。不保存,点此窗口的关闭,还是选择不保存。然后在B.cs中使用了Q的地方就被标红了,说没有这个属性。
只有重新编译 或 重新打开A.cs 或 重新打开B.cs才得以解决。
有时候不知道,还以为自己代码逻辑真的错了呢。
真倒胃口。