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 유형의 컬렉션에있는 모든 인스턴스를 반환한다고 생각 했습니까? 그래서 문제가LINQ.OfType() 연산자를 올바르게 사용하고 있습니까?
아래에 사전의 인스턴스 인 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()
감사 알렉세이!
두 번째 샘플은 여전히 사용으로() ...'잘 작동합니다. –
KeyValuePairs
세트 얻을 수 있도록 캐시 작업 ... 사전처럼 작동'cache' :'Y = cache.OfTypeOoops는 그것을 놓쳤습니다.하지만 실제로 작동하는 ObjectCache가 실제로 작동하지 않는 이유는 무엇입니까? – blue18hutthutt