Какая разница между свойством Type.GenericTypeArguments
и Type.GetGenericArguments()
? Всегда ли они возвращают то же самое или существуют ситуации, в которых они отличаются?
Свойство Type.GenericTypeArguments vs Тип .GetGenericArguments()
Ответ 1
typeof(List<>)
- пример, где они различаются. Свойство возвращает пустой массив, а метод возвращает массив с общим T
в нем. (этот T
имеет IsGenericParameter
true
)
Из чтения документации я думаю, что вы можете думать о GenericTypeArguments
как GetGenericArguments().Where(t => !t.IsGenericParameter).ToArray()
, то есть только о конкретных типах. См. Также ContainsGenericParameters
.