Подтвердить что ты не робот

Свойство Type.GenericTypeArguments vs Тип .GetGenericArguments()

Какая разница между свойством Type.GenericTypeArguments и Type.GetGenericArguments()? Всегда ли они возвращают то же самое или существуют ситуации, в которых они отличаются?

4b9b3361

Ответ 1

typeof(List<>) - пример, где они различаются. Свойство возвращает пустой массив, а метод возвращает массив с общим T в нем. (этот T имеет IsGenericParameter true)

Из чтения документации я думаю, что вы можете думать о GenericTypeArguments как GetGenericArguments().Where(t => !t.IsGenericParameter).ToArray(), то есть только о конкретных типах. См. Также ContainsGenericParameters.