我有一个主要围绕内存缓存工作的类。我有一个从缓存读取的函数。如何返回一个通用列表,以便可以根据类类型进行转换?
private ObjectCache cache = MemoryCache.Default;
public List<T> GetCachedDataList<T>(string key)
{
List<T> result = null;
if (cache.Contains(key))
result = cache[key] as List<T>;
return result;
}
我想做类似这样的事情:
List<HelloClass> data = GetCachedDataList<HelloClass>("HelloString") as List<HelloClass>;
这是最好的方法吗?
List<T> result = null;
这一行改为List<T> result = new List<T>();
,这样在出现错误时就可以返回一个空列表而不是 null。此外,在函数调用后你不需要再加上as List<HelloClass>;
,因为它已经被转换过了。 - Marco Faticaas List<HelloClass>
,因为函数已经返回了正确的类型。 - Scott Chamberlain