我正在嘗試編寫一個通用擴展來將ManagementObjectCollection轉換爲DataTable。這只是爲了使我正在編寫的啓動腳本/程序更容易。我遇到了CimType的問題。我已經包含了我在下面寫的代碼。將WMI CimType轉換爲System.Type
public static DataTable GetData(this ManagementObjectCollection objectCollection)
{
DataTable table = new DataTable();
foreach (ManagementObject obj in objectCollection)
{
if (table.Columns.Count == 0)
{
foreach (PropertyData property in obj.Properties)
{
table.Columns.Add(property.Name, property.Type);
}
}
DataRow row = table.NewRow();
foreach (PropertyData property in obj.Properties)
{
row[property.Name] = property.Value;
}
table.Rows.Add(row);
}
return table;
}
}
我發現了一種方法,我認爲它的工作原理是http://www.devcow.com/blogs/adnrg/archive/2005/09/23/108.aspx。但是,在我看來,似乎可能有更好的方法,甚至是我忽略的.net功能。
我想我沒有說清楚。我遇到的問題是我需要從System.Management.CimType轉換爲System.Type。我幾乎認爲這將是一個普遍的問題,但我想我試圖以一般方式解決它。
用觸發問題的示例查詢更新您的問題。 – 2010-05-25 15:10:20
我不確定你的意思,它是一個通用函數。 – 249076 2010-06-09 17:27:17