static void Main(string[] args) { /*Interfaces * Tüm elemanları default public'tir. Yani arayüzlerde erişim belirleyicisi belirtilmez. * Arayüz elemanları(mettotlar, property'ler) gövde içermez. * Virtual veya abstract belirleyicileri ile bildirilemezler. * Static elemanlara sahip olamazlar. */ B b = new B(); b.SampleMethod(); IAInterface i = b; i.SampleMethod(); //IAInterface i1 = new IAInterface(); error }
public static void DoIt(this IAInterface ia) { ia.AInterfaceMethod(); // no cast here! }
public AImplementation() { _thisAInterface = (IAInterface)this; }