public class Stock
{
}
class Program
{
static void Main(string[] args)
{
ObjectCache cache = MemoryCache.Default;
cache["test"] = new Stock();
var x = cache.OfType<Stock>().ToList();
}
}
これは空を返します...OfTypeはタイプTのコレクション内のすべてのインスタンスを返すことになっていると思いましたか?
考えられる原因としてObjectCacheを除外するために、私も試しました
List<object> lstTest = new List<object>();
lstTest.Add(new Stock());
var y = lstTest.OfType<Stock>().ToList();
ただし、これは機能します-したがって、問題は、下にある辞書のインスタンスであるObjectCacheにあるようです。
解決
cache.Select(item => item.Value).OfType<T>().ToList()
アレクセイありがとう!