我需要能够确定我从缓存中取出的项目是否可以转换为我传递给我的方法的对象的类型,以便我可以从缓存中删除项目item 不是该类型的有效实例。
以下是我失败的尝试:
Get(dataCache, "cachedItemLabel", myObject);
public static object Get(DataCache dataCache, string label, object obj)
{
try
{
//return (obj)dataCache.Get(label);
//return typeof(obj)dataCache.Get(label);
//return dataCache.Get(label) as typeof(obj);
}
catch (DataCacheException)
{
dataCache.Remove(label);
}
return null;
}
上面的代码导致以下异常:
return dataCache.Get(label) as typeof(obj);
导致“预期类型”
return typeof(obj)dataCache.Get(label);
结果为“;预期”
return (obj)dataCache.Get(label);
导致“找不到类型或命名空间名称‘obj’”