Supposant J'ai la ligne de code C#:EnvDTE.Expression - Obtenir le nom interne de DataMembers programme
var myList = new List {1,2,3};
Et je mets « myList » dans la fenêtre Espion, puis faites glisser le 1er élément de la liste vers le bas, la fenêtre montre crée une nouvelle ligne avec le nom interne de ce membre de données, qui dans ce cas serait
(nouveau System.Collections.Generic.Mscorlib_CollectionDebugView (myList)). Articles [0]
Ma question est, est-il un moyen d'obtenir ce programme nom interne de DataMember de l'expression d'un EnvDTE?
Merci beaucoup!
Merci, peut-être que j'aurais dû le mentionner dans le message original, mais je le sais déjà. Je pourrais faire un peu d'ingénierie inverse et d'inspecter les attributs du débogueur, et comprendre ce que fait l'évaluateur d'expression, mais ce que je demande, c'est s'il y a un moyen d'obtenir cette chaîne directement à partir de Visual Studio Extensibility API. –
Je ne vois aucune fonctionnalité qui ferait exactement cela. Je travaille avec cette API en ce moment, je pense que j'aurais remarqué s'il y avait quelque chose. – detunized
Merci pour le commentaire, utilisez-vous l'objet Expression d'EnvDTE, ou IDebugProperty2 :: GetPropertyInfo? Je soupçonne que ce dernier pourrait donner une solution, mais je n'ai aucune idée de la façon d'atteindre cet objet. –