2010-12-13 48 views
3

Visual Studio 2005 vous permet d'ajouter une surveillance sur des éléments particuliers d'une liste. Par exemple, disons que nous avons une classe comme ceci:Débogueur VS2005: Ajout d'une surveillance sur des champs spécifiques dans tous les objets d'une liste?

class Foo 
{ 
    string name; 
    int x; 
    int y; 
} 

Et nous déclarons:

List<Foo> foos = new List<Foo>(); 

... et il remplit avec des milliers d'éléments. Je sais qu'il est possible d'ajouter une montre sur les expressions foos [1] .x ou foos [i] .x. Ce que je voudrais savoir est de savoir si je peux ajouter une montre sur foos [tous] .x pour que la fenêtre de ma montre regardera automatiquement comme ceci:

foos[0].x = 1 
foos[1].x = 2 
// ... 
foos[foos.Count-1].x = 42 

Cela permettrait d'économiser beaucoup de temps en me permettant de visualiser le contenu de ma liste. Est-ce que VS2005 ou l'un de ses plugins a un moyen d'y parvenir? Que diriez-vous de VS2010?

Répondre

2

Il y a 'regarder' la fenêtre, à l'intérieur que vous pouvez ajouter une variable montre que vous voulez. Vérifiez également que article que j'ai trouvé rapidement dans google.

Pour montre dynamique, vous pouvez utiliser Debug.Print:

par exemple:

for (int i = 0; i < foos.Count(); i++) 
{ 
    Debug.Print("foos[{0}].x={1}",i,foos[i].x); 
} 
+0

Je sais sur la fenêtre de la montre. Ma question était de savoir si vous pouviez ajouter par programme une montre pour les foos [i] .x, pour tous, sans savoir combien d'éléments sont dans la liste. – David

+0

J'ai mis à jour ma réponse. –