公共setter方法不会更新

时间:2013-10-25 21:59:04

标签: c#

所以我一直在这个问题上摸不着头脑,我无法理解。我经历了一些调试步骤,看看它挂在哪里,Visual Studio不会给我任何东西。基本上,我有一个带有数组的类,它跟踪数组的当前索引和当前图像。

然而,当我调试(或不调试)时,无论“index”的值是什么,“currentLocation”都不会更新。我似乎无法弄清楚问题可能是什么。有什么建议吗?

public class TestClass : INotifyPropertyChanged
{
    //...

    public void GoTo(int index)
    {
        if (index == currentLocation)
            return;
        else if (index >= data.Length)
            this.currentLocation = data.Length - 1;
        else if (index <= 0)
            this.currentLocation = 0;
        else
            this.currentLocation = index;

        //this is where the debugging drops off
    }

    //doesn't matter if I initialize the value or not
    //private int _currentLocation = 0;
    private int _currentLocation;
    public int currentLocation
    {
        get { return _currentLocation; }
        set 
        { 
            //never hits this line
            this.SetProperty(ref this._currentLocation, value); 
            //more work 
        }
    }
    //...
}

1 个答案:

答案 0 :(得分:2)

根据您在评论中的回答,我们看到您在设置器中没有任何断点,但尝试使用F11(步入)到达那里。只有在禁用相应的调试器设置后它才会起作用。打开工具 - &gt;选项 - &gt;调试。查找选项“跳过属性和运算符”(默认情况下应启用)并禁用它。或者在setter中设置断点,如果更方便的话。