【问题标题】:C# How to make Dictionary<Type,Generic<Type>>?C# 如何制作 Dictionary<Type,Generic<Type>>?
【发布时间】:2019-11-22 12:50:16
【问题描述】:

我想制作存储不同类型的字典和使用该类型的泛型类。我该如何做这样的事情,以便每个条目都可以是其他类型并获得相应的泛型类作为值?

【问题讨论】:

  • 到目前为止你尝试过什么?为什么不只使用泛型本身?
  • 好吧,class&lt;int&gt;class&lt;string&gt; 是不同的类型,所以除非您的泛型类实现非泛型接口,否则会出现问题。
  • 我不确定我是否明白。您说的是 Dictionary 之类的吗?
  • CustomType&lt;T&gt; : Dictionary&lt;T, SomeGenericType&lt;T&gt;&gt;?

标签: c# dictionary generics types


【解决方案1】:
Dictionary<Type, dynamic> generics = new Dictionary<Type, dynamic>()
{
    {typeof(string), new List<string>() {"test"}},
    {typeof(int), new List<int>(){ 0 }}
};
foreach (Type genericsKey in generics.Keys)
{
    foreach (dynamic element in generics[genericsKey])
        Console.WriteLine(element);
}

输出:

测试
0

【讨论】:

  • 如何在运行时添加到这个字典?
  • @ArekŻyłkowski 使用generics.Add(...),就像使用任何其他字典一样。
猜你喜欢
  • 2011-03-18
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-27
  • 2015-12-08
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多