貌似发现一个Visual Studio的BUG?

来源:互联网 发布:js取出数组前几项 编辑:程序博客网 时间:2024/04/27 13:35

 

使用C#在子类中重写父类的虚属性时,发现了了一处IDE的异常,监视器中显示的值与实际变量值不一致,不知道是否是它的BUG0508种均存在该问题。

       代码如下:红色部分是出现异常的地方

      

public partialclass Form1 : Form

    {

        publicForm1()

        {

            InitializeComponent();

        }

 

        privatevoid button1_Click(object sender, EventArgs e)

        {

 

            SunGamepGame = new SunGame();

            pGame.Test();

        }

    }

 

 

    public class Game

    {      

        publicvirtual BooleanIsClosed

        {

            get

            {

                return false;

            }

        }

    };

 

    publicclass SunGame :Game

    {

        publicoverride BooleanIsClosed

        {

            get

            {

                return true;

            }

        }

 

        publicvoid Test()

        {

            //在这里输出都是正常的,但只能提示和监视结果不对

            Console.WriteLine("父类:" + base.IsClosed); 

             Console.WriteLine("子类:" + IsClosed);            

上面两行代码分别会输出父类中的false和子类中的true,这里是正确的,但是将这两行代码加入监视器中会发现结果都是true,鼠标智能提示也是如此,如下图: 

        }

    }

效果截图