There is no problem implementing multiple interfaces, but I imagine what you're trying to do is differentiate between collisions in multiple interfaces?
In order to do this you need to explicitly implement the interface. In c# that would look something like the following:
public class Class1 : IInterface1, IInterface2
{
string IInterface1.foo
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
string IInterface2.foo
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
}
There is no order between the two; you can't call one and have the other automagically execute. You would need to explicitly call one method from the implementation of the other.
If you want to call either selectively, you would do something like this:
Class1 theClass = new Class1();
IInterface1 i1 = theClass as IInterface1;
IInterface2 i2 = theClass as IInterface2;
string bar1 = i1.foo;
string bar2 = i2.foo;
Cheers.