WMI перечисляет информацию о схеме в .NET - PullRequest
4 голосов
/ 18 сентября 2011

Я пытаюсь перечислить все доступные поля в классе WMI, используя C #.

Самое близкое, что у меня есть, это список всех доступных эквивалентов таблиц в WMI

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from meta_class");

 foreach (ManagementClass wmiClass in searcher.Get())
 {
     Console.WriteLine(wmiClass["__CLASS"].ToString());
 }

Однако, похоже, что для полей нет аналога.

Возможно ли это или это просто поиск справочного руководства для просмотра всех доступных полей?

1 Ответ

7 голосов
/ 18 сентября 2011

Если у вас есть экземпляр класса WMI, тогда System.Management.ManagementBaseObject.Properties - это список всех свойств (WMI не разделяет свойства и поля - на основе COM они все свойства).

ManagementClass происходит от ManagementBaseObject, поэтому у него также есть свойство Properties, в котором перечислены свойства класса WMI, поэтому перечисляются все свойства:

var wmiClass = new ManagementClass("Win32_ComputerSystem");
foreach (var prop in wmiClass.Properties) {
  Console.WriteLine(prop.Name);
}

(Каждый элемент коллекции Properties является экземпляром PropertyData с большим количеством информации о каждом свойстве.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...