Как проверить, является ли переменная массивом или объектом?

Для десериализации объекта json мне пришлось определить родительский класс, который содержал бы объект или массив объектов для дочернего класса. Это должен быть объект, если объект был получен, или массив объектов, если массив был получен из json.

Объект массива JSON

{"y":{"x":[{"data":28}, {"data":56}, {"data":89}]}}

Объект JSON

{"y":{"x":{"data":28}}}

y получает x в один момент времени, а x[] в другой раз. Нет такого условия, чтобы определить, получит ли y массив или объект.

Следовательно, чтобы определить, получил я массив или нет, я проверяю условие IsArray().

Я пробовал

class Y
{
   public X x { get { return System.IsArray() ? new X() : new x[] }; set; }
}

class X
{
   public int data { get; set; }
}
  1. Не работает.
  2. System.IsArray()не распознается??
10
задан anurag 12 April 2012 в 06:16
поделиться