我使用的是默认的MemoryCache,它可以很好地满足我的需求。但是,GetValues()方法返回IDictionary<string, object>
有没有一种快速的方法可以将其转换为IDictionary<string, MyType>?
发布于 2012-10-16 16:53:42
使用ToDictionary
ToDictionary(k => k.Key, k => (MyType)k.Value)发布于 2012-10-16 16:53:56
执行您自己的GetValues方法来调用原始方法。对于每个结果,对第二个返回值(对象值)进行强制转换,并生成自己的强制转换IDictionary。
发布于 2012-10-16 16:54:32
这意味着您只能在此缓存中存储MyType类型的对象。但如果是这样的话,你可以有一个包装器方法:
public static IDictionary<string, MyType> GetValues(IEnumerable<string> keys)
{
return MemoryCache.Default.GetValues(keys).ToDictionary(x => x.Key, x => x.Value as MyType);
}https://stackoverflow.com/questions/12910857
复制相似问题