我使用默認的MemoryCache
,它適用於我的目的。但是GetValues()
方法返回IDictionary<string, object>
如何將IDictionary <字符串,對象>強制轉換爲IDictionary <字符串,MyType>
有沒有快速的方法來將其轉換爲IDictionary<string, MyType>
?
我使用默認的MemoryCache
,它適用於我的目的。但是GetValues()
方法返回IDictionary<string, object>
如何將IDictionary <字符串,對象>強制轉換爲IDictionary <字符串,MyType>
有沒有快速的方法來將其轉換爲IDictionary<string, MyType>
?
使用ToDictionary
:
ToDictionary(k => k.Key, k => (MyType)k.Value)
做你自己的GetValues
方法調用原來的一個。對於每個結果,執行到第二個返回值(對象一)並生成自己的鑄造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);
}
DOH!如此簡單...與通用方法很好地協作,每次都能夠返回我想要的內容。 – BlueChippy
@BlueChippy,記得標記答案。這也會幫助其他人。 –