Разобрать код для измерения температуры ЖД - C#
Формулировка задачи:
всем привет!) есть данный код для измерения температуры ЖД
у меня выдает ошибку на List, что его не существует, подскажите что это за элемент
//S.M.A.R.T. Temperature attritube
const byte TEMPERATURE_ATTRIBUTE = 194;
public List GetDriveTemp()
{
List retval = new List();
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData");
//loop through all the hard disks
foreach (ManagementObject queryObj in searcher.Get())
{
byte[] arrVendorSpecific = (byte[])queryObj.GetPropertyValue("VendorSpecific");
//Find the temperature attribute
int tempIndex = Array.IndexOf(arrVendorSpecific, TEMPERATURE_ATTRIBUTE);
retval.Add(arrVendorSpecific[tempIndex + 5]);
}
}
catch (ManagementException err)
{
Console.WriteLine("An error occurred while querying for WMI data: " + err.Message);
}
return retval;
}
вот такую ошибку выдает
"Ошибка 1 Использование универсального тип "System.Collections.Generic.List" требует аргументы типа "1"
Решение задачи: «Разобрать код для измерения температуры ЖД»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
foreach (byte b in GetDriveTemp())
{
listBox1.Items.Add(Convert.ToInt32(b));
}
}
const byte TEMPERATURE_ATTRIBUTE = 194;
public List<byte> GetDriveTemp()
{
List<byte> retval = new List<byte>();
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData");
//loop through all the hard disks
foreach (ManagementObject queryObj in searcher.Get())
{
byte[] arrVendorSpecific = (byte[])queryObj.GetPropertyValue("VendorSpecific");
//Find the temperature attribute
int tempIndex = Array.IndexOf(arrVendorSpecific, TEMPERATURE_ATTRIBUTE);
retval.Add(arrVendorSpecific[tempIndex + 5]);
}
}
catch (ManagementException err)
{
Console.WriteLine("An error occurred while querying for WMI data: " + err.Message);
}
return retval;
}