Mega Code Archive

 
Categories / C# Tutorial / Operator
 

Working with Interfaces

using System; interface Printable {     void MarginX(float factor);     void MarginY(float factor); } public class Component {     public Component() {} } public class TextField: Component, Printable {     public TextField(string text)     {         this.text = text;     }     // implementing Printable.MarginX()     public void MarginX(float factor)     {         Console.WriteLine("MarginX: {0} {1}", text, factor);         // scale the object here.     }          // implementing Printable.MarginY()     public void MarginY(float factor)     {         Console.WriteLine("MarginY: {0} {1}", text, factor);         // scale the object here.     }          private string text; } class Test {     public static void Main()     {         Component[] dArray = new Component[100];                  dArray[0] = new Component();         dArray[1] = new TextField("A");         dArray[2] = new TextField("B");                  foreach (Component d in dArray)         {             if (d is Printable)             {                 Printable scalable = (Printable) d;                 scalable.MarginX(0.1F);                 scalable.MarginY(10.0F);             }         }     } } MarginX: A 0.1 MarginY: A 10 MarginX: B 0.1 MarginY: B 10