Well, yes, and no.
You can, as Steve has suggested, create another, third, interface which descends from the two you want, and use that for the parameter type.
However, this will also make it a requirement that the class being used implements that third interface as well.
In other words, this won't work:
public interface I1 { }
public interface I2 { }
public class C : I1, I2 { }
public interface I3 : I1, I2 { }
public class YourClass
{
public void Test(I3 i) { }
}
...
YourClass yc = new YourClass();
C c = new C();
yc.Test(c); // won't work, C does not implement I3
However, you can trick the compiler into what you want by way of generics.
public class YourClass
{
public void Test<T>(T i) where T: I1, I2 { }
}
Now it will work. I'm still not 100% sure that won't give you other issues though, I'd have to think about it.