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