Метод System.Type.GetGenericArguments()
"отсутствует" из .NETStandard 1.0, и я думал, что TypeInfo.GenericTypeArguments
заменяет GetGenericArguments()
, но, к сожалению, они ведут себя по-разному, когда они поставляются с открытым родовым типом. Возьмем, например, следующий код:
Type type = typeof(ICommandHandler<>);
type.GetGenericArguments(); // return { TCommand }
type.GetTypeInfo().GenericTypeArguments; // returns empty array
В то время как метод GetGenericArguments()
возвращает аргумент generic type TCommand
, GenericTypeArguments
просто возвращает пустой массив для одного и того же открытого типа.
Каково точное поведение GenericTypeArguments
и что эквивалентно Type.GetGenericArguments()
в .NET Standard 1.0?