2017-03-05 2 views
-1

콘솔 앱에 시스템 진단 정보를 표시하려고하는데 표시되면 SMTP 이메일을 보낼 수 있습니다.C# 콘솔 앱에 시스템 진단 정보를 표시하는 데 문제가 발생했습니다.

나는 호출 할 때이 그것을 표시 모든

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

당신은 내가 잘못 여기하고있어 그 일부 지원을 제공 할 수 system.diagnoistics.performancecounter system.diagnoistics.performancecounter입니까? 나는 지난 며칠 동안 만난 다른 모든 것들처럼 아주 간단하다고 확신합니다. 여기에 무슨 일이 일어나고 Console.WriteLineSystem.Diagnostics.PerformanceCounter입니다 내부 ctr.ToString()를 호출 Console.WriteLine() 얻을 당신의 PerformanceCounter 객체의 문자열 표현을, 표시하고 무엇

답변

1

. 내가 원하는 것은 PerformanceCounter 클래스의 Properties 문자열 표현입니다.

할 수 있습니다 중 하나를 WriteLine 직접 등록, 알라 ...

Console.WriteLine(cpu.CategoryName); 
Console.WriteLine(cpu.CounterName); 
// etc... 

또는 사용 반사. 이것은 당신을 시작할 것입니다 ...

PropertyInfo[] properties = ctr.GetType().GetProperties(); 
    foreach (PropertyInfo property in properties) 
    { 
     Console.Write(property.Name + ":\t"); 
     Console.WriteLine(property.GetValue(ctr).ToString()); 
    } 
+0

console.writeline (cpu.CategoryName); 등등. 이들 모두는 내가 따옴표로 넣은 리터럴 정보 만 표시합니다. – mcavanaugh418

+0

이것은 올바른 동작입니다. 당신은 그들이 무엇을 보여줄 것으로 기대합니까? –

+0

나는 실제 프로세서 타이밍을 기대하고 있었다. 어쩌면 나는 이것에 대해 완전히 잘못된 길을 가고있다. – mcavanaugh418

관련 문제