static void methode(Iinterface1 cl) { Console.WriteLine("Name:" + cl.Name); // Name fait parti de l'interface commune des 2 classes if (cl is classe1) Console.WriteLine("xcl1:" + ((classe1)cl).xcl1); // En fonction du type de l'objet passé en parametre, on caste le bon type pour accéder aux membres spécifiques if (cl is classe2) Console.WriteLine("xcl2:" + ((classe2)cl).xcl2); // En fonction du type de l'objet passé en parametre, on caste le bon type pour accéder aux membres spécifiques }
static void Main(string[] args) { MyClass myclass = new MyClass(); Iinterface1 iinterface1 = myclass; Console.WriteLine(iinterface1.Add()); Iinterface2 iinterface2 = myclass; Console.WriteLine(iinterface2.Add()); Console.ReadLine(); }