Как отличить, ссылается ли ссылка на массив или на одно значение? - PullRequest
1 голос
/ 16 мая 2011

Я использую WMI, и он дает мне ManagementCollectionObject, который включает коллекцию объектов разных типов, таких как строка, int64, массив int, массив строк и т. Д.

Генератор кода WMI генерирует различный код для одного значения и значений массива. как показано ниже:

// getting single value
Console.WriteLine("Availability: {0}", queryObj["Availability"]);


// getting single array value
if(queryObj["AvailableJobSheets"] == null)
   Console.WriteLine("AvailableJobSheets: {0}", queryObj["AvailableJobSheets"]);
else
{
    String[] arrAvailableJobSheets = (String[])(queryObj["AvailableJobSheets"]);
    foreach (String arrValue in arrAvailableJobSheets)
    {
        Console.WriteLine("AvailableJobSheets: {0}", arrValue);
    }
}

как мне определить, является ли значение свойства массивом или нет?

1 Ответ

4 голосов
/ 16 мая 2011

Вы можете использовать Type.IsArray:

if(queryObj["AvailableJobSheets"].GetType().IsArray)
    // It's an array
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...