私はデフォルトを使用していますMemoryCache
が、これは私の目的には問題なく機能します。ただし、GetValues()
メソッドはIDictionary<string, object>
これをにキャストする簡単な方法はありIDictionary<string, MyType>
ますか?
私はデフォルトを使用していますMemoryCache
が、これは私の目的には問題なく機能します。ただし、GetValues()
メソッドはIDictionary<string, object>
これをにキャストする簡単な方法はありIDictionary<string, MyType>
ますか?
使用ToDictionary
:
ToDictionary(k => k.Key, k => (MyType)k.Value)
GetValues
元のメソッドを呼び出す独自のメソッドを実行します。結果ごとに、2 番目に返された値 (オブジェクト 1) へのキャストを行い、独自の 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);
}