У меня есть метод:
public void StoreUsingKey<T>(T value) where T : class, new() {
var idModel = value as IIDModel;
if (idModel != null)
Store<T>(idModel);
AddToCacheUsingKey(value);
}
, который я хотел бы при желании вызвать следующим методом на основе реализации параметра value
IIDModel
.
public void Store<T>(T value) where T : class, IIDModel, new() {
AddModelToCache(value);
}
Есть ли способ сообщить Store<T>
, что параметр value
из StoreUsingKey<T>
реализует IIDModel
? Или я поступаю неправильно?
Rich
Ответ
Удаление ограничения new()
из каждого метода позволяет коду работать. Проблема была в том, что я пытался выдать интерфейс за объект, который можно создать.