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