以下のコードは、 にオブジェクトを追加しますMemoryCache
。これらのオブジェクトは異なるタイプを持つことができます。
オブジェクトを返すことができるメソッドが欲しいのですMemoryCache
が、戻り値の型は異なる場合があります。
私のサンプルでは 2 ですが、それ以上になることもあります。私のサンプルでは、戻り値の型はIT1
orList<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; }
}