我正在使用默认的MemoryCache
,这对我的目的很有效。但是,GetValues()
方法会返回IDictionary<string, object>
有没有快速方法将其转换为IDictionary<string, MyType>
?
答案 0 :(得分:4)
使用ToDictionary
:
ToDictionary(k => k.Key, k => (MyType)k.Value)
答案 1 :(得分:0)
执行调用原始方法的GetValues
方法。对于每个结果,执行转换为第二个返回值(对象一)并生成自己的转换IDictionary
。
答案 2 :(得分:0)
这意味着您只能在此缓存中存储MyType
类型的对象。但如果是这种情况,你可以使用包装器方法:
public static IDictionary<string, MyType> GetValues(IEnumerable<string> keys)
{
return MemoryCache.Default.GetValues(keys).ToDictionary(x => x.Key, x => x.Value as MyType);
}