假设我在类 ClassName 中有这个自动实现的属性:public int Counter{ get;放; }
我未能成功地在 Visual Studio 2013 中的 C# 自动实现的属性 setter 上设置条件断点。特别是在设置的新值上。 (例如,当它设置为负数时,我想断点它。)
我知道还有其他解决方案,例如拆分属性使其不是自动实现的属性,或者在设置该属性的所有位置设置断点。 但我希望能够在没有繁琐的解决方法的情况下做到这一点。
我已经使用 https://stackoverflow.com/a/6713867/119418 中的以下提示成功地在自动实现的属性 setter 上设置了断点
使用 Visual Studio 2008、2010、2012、2013:
对于获取,键入: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/