using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Caching;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
MemoryCache.Default.Add("C1", new Customer { Name = "C1" }, DateTime.Now.AddDays(1));
MemoryCache.Default.Add("C2", new Customer { Name = "C2" }, DateTime.Now.AddDays(1));
MemoryCache.Default.Add("C3", new Customer { Name = "C3" }, DateTime.Now.AddDays(1));
Console.WriteLine("Total Cached Objects: {0}", MemoryCache.Default.GetCount());
Console.WriteLine("Total cached objects of type Customer: {0}", MemoryCache.Default.OfType<Customer>().Count());
Console.Read();
}
}
public class Customer
{
public string Name { get; set; }
}
}
Customer タイプの 3 つのオブジェクトを MemoryCache に追加し、MemoryCache をフィルタリングして、Customer タイプのオブジェクトのみを取得しようとしています。
上記のコードを実行した後、「顧客タイプのキャッシュされたオブジェクトの合計」が 3 になると予想していましたが、0 が返されます。
ここで何が間違っているのか誰でも指摘できますか?