c# - 自动实现的属性 setter 上的条件断点

假设我在类 ClassName 中有这个自动实现的属性:public int Counter{ get;放; }

我未能成功地在 Visual Studio 2013 中的 C# 自动实现的属性 setter 上设置条件断点。特别是在设置的新值上。 (例如,当它设置为负数时,我想断点它。)

我知道还有其他解决方案,例如拆分属性使其不是自动实现的属性,或者在设置该属性的所有位置设置断点。 但我希望能够在没有繁琐的解决方法的情况下做到这一点。

我已经使用 https://stackoverflow.com/a/6713867/119418 中的以下提示成功地在自动实现的属性 setter 上设置了断点

使用 Visual Studio 2008、2010、2012、2013:

  1. 转到断点窗口
  2. New->功能中断...
  3. 对于获取,键入:ClassName.get_Counter()

    对于集合,键入:ClassName.set_Counter(int)

当遇到断点时,您会看到“没有可用的源”,但您会在调用堆栈中找到调用位置。

最佳答案

我不是 100% 确定如果我猜对了你想做什么你只是想在有人将它设置为负值时为属性设置断点

我可能走错了方向,但你在找这种东西吗

private int _age;
public int Age
{
      get{ return _age;  }
      set{ 
        if(value < 0) 
        { throw somthing;} //add a breakpoint here 
        else{ _age = value;} 
         }
}// im writing this directly in the browser so forgive space indentation etc 

这可能不是您想要的,但我认为这是实现您要求的最简单方法

https://stackoverflow.com/questions/27725691/

相关文章:

visual-studio-2013 - 即使通过 NuGet 安装,SpecFlow 也找不到包

javascript - 如何更改 D3 中的缩放速度

ruby-on-rails - 康康舞能力 : allow site admin with roli

inno-setup - 如何在 InnoSetup 中更改 {app} 变量

c# - 在linq中动态选择一个属性

django - 如何从 Django 中的信号获取返回响应

ruby-on-rails - Mongoid 批量收集插入 : how to get the id

python - pymssql : Inserting mutliple values into

python - 如何移动 Canvas 多边形?

javascript - 单击播放音频时出现不必要的延迟