Мне нужно определить, может ли элемент, который я получаю из моего кеша, передать тип объекта, который я передаю в свой метод, чтобы я может удалить элемент из кеша в случае, если элемент не является допустимым экземпляром этого типа.Нужно что-то использовать как параметр типа в методе
Ниже мои неудачные попытки:
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 не могут быть найдены"
Я предполагаю, что вы получаете исключение во время выполнения. Можете ли вы опубликовать исключение в своем вопросе? –
Вы просто бросаете все, что бы прямо не возвращалось к объекту, так какой смысл, даже если бы вы могли это сделать? – Servy
вы должны использовать дженерики. –