/ / problém so zobrazením diagnostických informácií o systéme v aplikácii C # console - c #, application console

problémy s zobrazením systémových diagnostických informácií v aplikácii konzoly C # - c #, konzolová aplikácia

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ď č. 1

Deje 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());
}