Pokúšam sa zobraziť niektoré diagnostické informácie o systéme v aplikácii konzoly, takže akonáhle viem, že sú zobrazené, môžem im poslať e-mail SMTP.
keď tomu hovorím, všetko sa zobrazuje system.diagnoistics.performancecounter system.diagnoistics.performancecounter
public static void GetUsageInformation()
{
cpu = new PerformanceCounter();
cpu.CategoryName = "Processor";
cpu.CounterName = "% Processor Time";
cpu.InstanceName = "_Total";
ram = new PerformanceCounter("Memory", "Available Mbytes");
Console.WriteLine(cpu);
Console.WriteLine(ram);
}
Môžete mi poskytnúť pomoc s tým, že tu robím nesprávne? Som si istý, že je to super jednoduché ako všetko ostatné, s čím som sa v posledných dňoch stretol.
odpovede:
1 pre odpoveď č. 1Deje sa tu Console.WriteLine
zobrazuje reťazcové zobrazenie vášho PerformanceCounter
predmety, získané Console.WriteLine()
povolania ctr.ToString()
interne, čo skutočne je System.Diagnostics.PerformanceCounter
, Verím, že chcete, je reťazcové znázornenie vašich vlastností PerformanceCounter
triedy.
Môžete buď priamo napísať vlastnosti, ala ...
Console.WriteLine(cpu.CategoryName);
Console.WriteLine(cpu.CounterName);
// etc...
Alebo použite reflexiu. To vám pomôže začať ...
PropertyInfo[] properties = ctr.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
Console.Write(property.Name + ":t");
Console.WriteLine(property.GetValue(ctr).ToString());
}