I have a doubt on how to call the method of particular interface (Say IA or IB or In...) in the following code. Please help me on how to call. I have commented the lines of
The method that will be called depends on the type that calls it. For example:
Note, for sake of clarity, I create two items. In practice though, you don't want to do this, you should just cast the object between types.
static void Main(string[] args)
{
// easy to understand version:
IA a = new Model();
IB b = new Model();
a.Display();
b.Display();
// better practice version:
Model model = new Model();
(IA)model.Display();
(IB)model.Display();
}
interface IA
{
void Display();
}
interface IB
{
void Display();
}
class Model : IA, IB
{
void IA.Display()
{
Debug.WriteLine("I am from A");
}
void IB.Display()
{
Debug.WriteLine("I am from B");
}
}
Outputs:
I am from A
I am from B