Я хочу вызвать общий метод, который ограничивает тип ввода T для реализации двух интерфейсов:
interface IA { }
interface IB { }
void foo<T>(T t) where T : IA, IB { }
Как я могу исправить последнюю строку
void bar(object obj)
{
if (obj is IA && obj is IB)
{
foo((IA && IB)obj);
}
}
?
Отражение, вероятно, позволяет делать вызов, но я хотел бы оставаться внутри языка.