Open RobertvanderHulst opened 8 months ago
The custom visualizer mechanism is currently entirely different from the way expression evaluation works. It works by injecting a dll into the target process and running whatever code the custom visualizer wants. In the case of the IEnumerable visualizer, this is a bunch of reflection calls to inspect the object that way.
All that said, respecting [DebuggerBrowsable(DebuggerBrowsableState.Never)]
make lots of sense to me. I will open a Visual Studio bug for this.
We have added IEnumerable Visualizer support for some of our own collection types. One of these collections contains values of an internal type (like the COMVariant Type) and we have marked several properties that are for internal use with
[DebuggerBrowsable(DebuggerBrowsableState.Never)].
The IEnumerable Visualizer still shows these properties. We have also tried to work around this by adding a DebuggerProxy for that type, but the Visualizer ignores that. Is there a way to control which fields and properties are shown by the IEnumerable Visualizer ?