Interface Explicit Implementation : interface « Class « C# / CSharp Tutorial






using System;


    interface IStorable
    {
        void Read();
        void Write();
    }

    interface ITalk
    {
        void Talk();
        void Read();
    }
    public class Document : IStorable, ITalk
    {
         public Document(string s)
        {
            Console.WriteLine("Creating document with: {0}", s);
        }
        public virtual void Read()
        {
            Console.WriteLine("Implementing IStorable.Read");
        }
        public void Write()
        {
            Console.WriteLine("Implementing IStorable.Write");
        }
        void ITalk.Read()
        {
            Console.WriteLine("Implementing ITalk.Read");
        }
        public void Talk()
        {
            Console.WriteLine("Implementing ITalk.Talk");
        }
    }

    public class Tester
    {

        static void Main()
        {
            Document theDoc = new Document("Test Document");
            IStorable isDoc = theDoc;
            isDoc.Read();

            ITalk itDoc = theDoc;
            itDoc.Read();

            theDoc.Read();
            theDoc.Talk();
        }
    }








7.32.interface
7.32.1.Interfaces
7.32.2.Interface Properties
7.32.3.Creating an interface.
7.32.4.Use interface keyword to define an interface
7.32.5.Implement an interface
7.32.6.Multiple Implementation: implement two interfaces
7.32.7.Inherited interface
7.32.8.Declare an interface and implement it
7.32.9.Interfaces and Inheritance
7.32.10.Base class and interface
7.32.11.Duplicate Interface Members
7.32.12.Accessing an interface from a class.
7.32.13.Abstract Interface: how the abstract BaseClass can interface.
7.32.14.Multiple Interfaces
7.32.15.Interface Explicit Implementation