У вас есть звонок на GetGenericTypeDefinition()
, который вы, вероятно, не хотите. Т.е.:
typeof(TSuper).GetProperty("Next").PropertyType.BaseType.GetGenericArguments()
typeof(TSuper).GetProperty("Next").PropertyType.BaseType
возвращает тип Base<Test, Super>
. Таким образом, вызов GetGenericArguments()
для него возвращает [Test, Super]
.
Вызов GetGenericTypeDefinition()
для этого дает вам Base<TArg, TSuper>
, а вызов GetGenericArguments()
для него возвращает [TArg, TSuper]
.