【发布时间】:2012-09-21 17:53:33
【问题描述】:
我想创建一个字典,其中 TKey 作为字符串,TValue 来自编译时不知道的类型。
比如说我有一个函数
createDict(Type type)
{
Dictionary<string, {here's the type from the func. argument}> dict = new Dictionary..
}
这种情况是可能的还是我错过了一些非常基本的东西?
【问题讨论】:
-
您的类型是如何确定的?人们似乎在支持泛型解决方案,而不考虑您在编译时不知道类型的声明(在编译时没有反射需要类型的封闭泛型)。如果您可以向我们展示如何确定类型,则可以更好地针对您的问题量身定制答案。
-
在我看来,类型是由传递给 createDict() 的“Type”参数确定的
-
@MatthewWatson 显然,但我试图确定它是否真的需要,而不是在编译时知道类型。面对
Dictionary<string, object>甚至Hashtable,反映一个你不知道类型的通用字典对我来说似乎很奇怪。 -
是的,有点奇怪。实际上使用创建的字典也不会很简单!
标签: c# dictionary