Проверка универсального типа
Как проверить универсальный тип на соответствие другому типу? Имеется следующие:
Filter<T> C<T>()
{
if(T is IFilter)
return new Filter<T>()
}
Проверка FilterType is IFilter не выполняется.
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
T is IFilter не прокатит, так как первым аргументом сопоставления шаблона должно быть значение, а не тип.
Здесь поможет рефлексия.
if (typeof(IFilter).IsAssignableFrom(typeof(T)))
{
// ...
}