0

私はデフォルトを使用していますMemoryCacheが、これは私の目的には問題なく機能します。ただし、GetValues()メソッドはIDictionary<string, object>

これをにキャストする簡単な方法はありIDictionary<string, MyType>ますか?

4

3 に答える 3

4

使用ToDictionary:

ToDictionary(k => k.Key, k => (MyType)k.Value)
于 2012-10-16T08:53:41.510 に答える
0

GetValues元のメソッドを呼び出す独自のメソッドを実行します。結果ごとに、2 番目に返された値 (オブジェクト 1) へのキャストを行い、独自の casted を生成しますIDictionary

于 2012-10-16T08:53:55.980 に答える
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);
}
于 2012-10-16T08:54:32.193 に答える