Бросьте объект в универсальный список

Это не ошибка, вы можете увидеть в опубликованном вами коде / HTML, что ошибка буквально записана в вашем коде / HTML:

</div>index.js:3757 TypeError: Cannot read pro
<div class="p-col-6 waitForPj">

Это объясняет, почему сообщение не отображается и почему вы не получаете никаких ошибок в консоли

6
задан John Hartsock 17 November 2011 в 17:48
поделиться

4 ответа

Какова ошибка компиляции, которую Вы получаете? Если T объявляется как универсальный параметр типа в Вашем контексте затем затем, единственный выпуск I времени компиляции видит с тем оператором, использование ключевого слова object как имя переменной. Во всяком случае я предложил бы что-то вроде этого в качестве лучшего выражения Вашего намерения:

IEnumerable enumerable = obj as IEnumerable;

if (enumerable != null)
{
    foreach (object item in enumerable)
    {
        sTemp += item.ToString();
    }
}

Можно также хотеть рассмотреть использование StringBuilder, если список, вероятно, будет иметь много объектов.

9
ответ дан 8 December 2019 в 04:55
поделиться

Сказать

List<T> genericList = object as List<T>;

if(genericList != null)
{
   // Do the loop
}

"Поскольку" ключевое слово проверяет, что "объект" на самом деле "-" Список <T>. Если так, Вы получаете Список <T> назад от него. В противном случае Вы становитесь пустыми.

11
ответ дан 8 December 2019 в 04:55
поделиться

Вы наклоняетесь, делают это

List<T> genericList = (List<T>)object

могли бы быть Вы, хотят

List<T> genericList = (List<T>)obj

где obj является объектом

4
ответ дан 8 December 2019 в 04:55
поделиться

Как насчет того, чтобы объединиться "как" с?

if (object is List<T>)
{ 
  List<T> genericlist = object as List<T>;
 // loop list
}
else if (object is T)
{
 // do something else
}
0
ответ дан 8 December 2019 в 04:55
поделиться