通用字典如下:
public class ConcurrentDictionary<TKey, TValue> : IDictionary<TKey, TValue>
具体的字典可以如下:
var container = new ConcurrentDictionary<string, Unit>();
var container = new ConcurrentDictionary<string, CustomUnitClass>();
这些特殊字典(具有不同的参数)已添加到应用程序状态:
HttpContext.Current.Application[key] = container;
当我从应用程序状态获取项目时(这里的一些人帮助了我;谢谢他们),我可以通过这种方式检查类型是否为 ConcurrentDictionary:
object d = HttpContext.Current.Application[i];
if (d.GetType().GetGenericTypeDefinition() == typeof(ConcurrentDictionary<,>))
最后一点是 - 如何将对象 d 转换为通用 ConcurrentDictionary:
ConcurrentDictionary<?, ?> unit = d as ConcurrentDictionary<?, ?>;
我不想使用特定的演员如下:
ConcurrentDictionary<string, Unit> unit = d as ConcurrentDictionary<string, Unit>;
因为第二个参数可以是另一种类型。
先感谢您。