下面的代码在MemoryCache
. 这些对象可以有不同的类型。
我想要一个能够从中返回对象的方法,MemoryCache
但返回类型可以不同。
在我的示例中,它是 2,但可以更多。在我的示例中,类型返回是IT1
或List<IT2>
我怎样才能实现这个方法?
我想要这样的方法(返回的类型可能因键而异):
public ??? GetObjectFromKey(string key)
{
return _cache.Get(key);
}
谢谢,
MemoryCache _cache = MemoryCache.Default;
var it1 = new T1 { Name = "My" };
var it2 = new List<IT2>().Add(new T2 { Age = 5 });
_cache.Add("ITC1", it1, new CacheItemPolicy());
_cache.Add("ITC2", it2, new CacheItemPolicy());
var typeName = _cache.Get("ITC1").GetType();
public interface IT1
{
string Name { get; set; }
}
public class T1 : IT1
{
public string Name { get; set; }
}
public class T2 : IT2
{
public int Age { get; set; }
}
public interface IT2
{
int Age { get; set; }
}