Déclaration dynamique d'objets
Bonjour,
J'ai un petit souci de déclaration d'objets.
Je voudrais utiliser des compteurs perfmon afin de prendre les infos des cpu mais sans savoir à l'avance combien de CPU seront détectés.
je déclare
Code:
1 2 3
| Private pc0 As New System.Diagnostics.PerformanceCounter("Processor", "% Processor Time", "0")
Private pc1 As New System.Diagnostics.PerformanceCounter("Processor", "% Processor Time", "1")
Private pc2 As New System.Diagnostics.PerformanceCounter("Processor", "% Processor Time", "2") ' etc... dans la partie public class du form. |
Ensuite dans ma procédure j'utilise
Code:
1 2 3
| .Series(1).Points.Add(CInt(pc0.NextValue).ToString)
.Series(2).Points.Add(CInt(pc1.NextValue).ToString)
.Series(3).Points.Add(CInt(pc2.NextValue).ToString) |
etc..
Et tout se passe bien parce que c'est hardcodé.
Mais comment faire si sur un serveur j'ai 8 CPU et sur un autre 2 ?
Est t'il possible de déclarer dynamiquement un objet ?
ex
Code:
1 2 3
| for E=0 to environement.processor.count
Private pc(E) As New System.Diagnostics.PerformanceCounter("Processor", "% Processor Time",E)
next E |
?
Où sinon quelle méthode utilisez-vous pour ce genre de cas ?
Je vous remercie d'avance.
JL,
Déclaration dynamique d'objets
Merci beaucoup Pol63
le problème que je rencontre est que je dois déclarer les objets dans la partie Class du Form (avant les procédures et fonctions) du coup, je ne peux pas mettre de code style boucle .. l'ideal aurait été un tableau d'objet mais je ne trouve nulle part de référence à ce type d'objet.
si je ne déclare pas l'objet de cette façon que je le déclare à chaque prise de valeur, j'ai un freeze d'une seconde à chaque fois.