c# - 如何在给定 Dictionary<TKey,TValue> 类型的情况下获取 TKey 和 TValue 的类型

标签 c# generics reflection

我想在给定 Dictionary<TKey,TValue> 的情况下获取 TKey 和 TValue 的类型类型。

例如。如果类型是 Dictionary<Int32,String>我想知道如何获得 keyType = typeof(Int32) 和 valueType = typeof(字符串)

最佳答案

我认为这可能是您正在寻找的:

Dictionary<int, string> dictionary = new Dictionary<int, string>();
Type[] arguments = dictionary.GetType().GetGenericArguments();
Type keyType = arguments[0];
Type valueType = arguments[1];

引用:Type.GetGenericArguments

关于c# - 如何在给定 Dictionary<TKey,TValue> 类型的情况下获取 TKey 和 TValue 的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26587501/

相关文章:

java - OrmLite 通用创建方法

c# - 可以赋值null吗?

c# - 如何从当前时间减去 6 小时?

c# - 为什么 WebApi 帮助页面中不显示操作

java - 这是 Java 泛型的限制吗?

java - 如何修剪通过使用 Java 反射获得的同一方法的变体?

java - 获取当前执行方法的名称

c# - MongoDB 聚合管道 C#

C# 4.0/EF - SQL Server Compact 不支持服务器生成的键和服务器生成的值

java - 泛型与泛型数组列表?