C#检查visual studio调试器是否访问了属性

C#检查visual studio调试器是否访问了属性,c#,visual-studio,debugging,C#,Visual Studio,Debugging,我正在写一份C#应用程序。我有一些具有惰性属性的对象,当您请求它们的值时,它们实际上做了很多工作 我希望能够在调试时检查VisualStudio调试器是否调用它们,而不执行它们。例如,当我单击具有这些属性的对象时,它不应该加载它们 如何做到这一点?考虑使用: 国家: 从不->从不显示元素 还简要讨论了属性。考虑使用: 国家: 从不->从不显示元素 还简要讨论了该属性。除此之外,如果您没有源代码或不想在此时修改它,请在VS: 除此之外,如果您没有源代码或不想在此时修改它,请启用in-VS的功能:

我正在写一份C#应用程序。我有一些具有惰性属性的对象,当您请求它们的值时,它们实际上做了很多工作

我希望能够在调试时检查VisualStudio调试器是否调用它们,而不执行它们。例如,当我单击具有这些属性的对象时,它不应该加载它们

如何做到这一点?

考虑使用:

国家:

从不->从不显示元素

还简要讨论了属性。

考虑使用:

国家:

从不->从不显示元素

还简要讨论了该属性。

除此之外,如果您没有源代码或不想在此时修改它,请在VS:

除此之外,如果您没有源代码或不想在此时修改它,请启用in-VS的功能:


使用断点查看调试器是否调用它们,并在发布模式下调试以完全不加载它们。虽然我不完全确定您想要的东西(很容易)是不可行的,但我非常确定即使您能够做到这一点也没有用,您应该更轻松地将代码放在函数中,而不是属性中。getter/setter中的副作用不好。@rtur而true-缓存值的属性(因此执行一次繁重的工作,然后表现得像正常的属性)是非常常见的做法。我绞尽脑汁,但记不起确切的名称。NET中添加了一个更晚的功能,该功能可防止在属性执行危险代码时对手表进行求值。watch表达式快速失败,而不是执行该代码。例如,对于线程同步原语非常有用。我找不到它了,它很模糊,希望它能勾起别人的记忆。@HansPassant你可能在想
nse
?使用断点来查看调试器是否调用它们,并且#在发布模式下调试以完全不加载它们。虽然我不完全确定您想要的东西(很容易)是不可行的,但我非常确定,即使您可以这样做,它也没有用,您应该更轻松地将代码放在函数中,而不是属性中。getter/setter中的副作用不好。@rtur而true-缓存值的属性(因此执行一次繁重的工作,然后表现得像正常的属性)是非常常见的做法。我绞尽脑汁,但记不起确切的名称。NET中添加了一个更晚的功能,该功能可防止在属性执行危险代码时对手表进行求值。watch表达式快速失败,而不是执行该代码。例如,对于线程同步原语非常有用。我找不到它了,它很模糊,希望它能勾起别人的记忆。@HansPassant你可能在想
nse
[DebuggerBrowsable(DebuggerBrowsableState.Never)]