Angenommen ich die C# Codezeile haben:EnvDTE.Expression - Getting den internen Namen von Datamembers programmatisch
var myList = new List {1,2,3};
und ich habe „myList“ im Fenster Uhr, und dann das erste Element der Liste nach unten ziehen, erstellt das Überwachungsfenster eine neue Zeile mit dem internen Namen dieses Datenelementes, das würde in diesem Fall
(neu System.Collections.Generic.Mscorlib_CollectionDebugView (myList)). Artikel [0]
Meine Frage ist, gibt es eine Möglichkeit, programmatisch diese internen Namen des Datamember aus einem EnvDTE Ausdruck zu bekommen?
Vielen Dank!
Danke, vielleicht hätte ich das im Originalbeitrag erwähnen sollen, aber das weiß ich schon. Ich könnte etwas Reverse Engineering durchführen und die Debugger-Attribute untersuchen und herausfinden, was der Expression Evaluator tut, aber ich möchte wissen, ob es eine Möglichkeit gibt, diese Zeichenfolge direkt von der Extensibility-API von Visual Studio zu beziehen. –
Ich sehe keine Funktionalität, die genau das tun würde. Ich arbeite mit dieser API im Moment auch, ich denke, ich hätte bemerkt, wenn es etwas gäbe. – detunized
Danke für den Kommentar, verwenden Sie das Expression-Objekt von EnvDTE, oder IDebugProperty2 :: GetPropertyInfo? Ich vermute, dass Letzteres eine Lösung liefern könnte, aber ich habe keine Ahnung, wie ich zu diesem Objekt komme. –