I want to call a generic method that constrains the input type T to implement two interfaces:
interface IA { }
interface IB { }
void foo(T t) where
I agree with the other responders that you probably have a design issue if you need to do this, but you could accomplish it with a proxy object that implements both interfaces and delegates the calls to the two casted interface instances of the unknown Object. Now, when you call this method, you can construct the proxy for any type that supports both interfaces.