假设我有一个泛型类型定义:
var type = typeof(IReadOnlyDictionary<,>)
我如何获得泛型参数的typeparam名称?在上面的示例中,我正在寻找"TKey"
和"TValue"
typeof(IList<>)
我期待"T"
有没有办法,使用反射来获取这些字符串?
答案 0 :(得分:0)
您可以使用Type.GetGenericParameterConstraints
:
var type = typeof(IReadOnlyDictionary<,>)
var names = type.GetGenericArguments().Select(x => x.Name);
查看我的fiddle。