//Interface I1 and I2 I cant change as they are
public interface I1
{
void Display();
}
public interface I2
{
void Display();
void Display2();
}
//I can make changes here
public class MyClass : I1, I2
{
void I1.Display()
{
}
void I2.Display()
{
}
void I2.Display2()
{
}
}
//Calling this method from a diffrent class
void processData(I1 data) //I have to accept I1 interface refrence only
{
var temp = data.Display2(); //Error
}
In processData() method data.Display2() is giving error. How I can achive as data is basically MyClass object then how can I call Display2() with I2 reference. Is there any solution like Casting or any SOLID principle which I am missing?