Sdílet prostřednictvím


rozhraní (C#-Reference)

Rozhraní obsahuje pouze podpisy metody, Vlastnosti, události nebo indexování.Třídy nebo struktura, která implementuje rozhraní, musí implementovat členy rozhraní, které jsou určeny v definici rozhraní.Následující příklad třídy ImplementationClass musí implementovat metodu pojmenovanou SampleMethod , nemá žádné parametry a vrací void.

Další informace a příklady naleznete v tématu Rozhraní (Příručka programování C#).

Příklad

interface ISampleInterface
{
    void SampleMethod();
}

class ImplementationClass : ISampleInterface
{
    // Explicit interface member implementation: 
    void ISampleInterface.SampleMethod()
    {
        // Method implementation.
    }

    static void Main()
    {
        // Declare an interface instance.
        ISampleInterface obj = new ImplementationClass();

        // Call the member.
        obj.SampleMethod();
    }
}

Rozhraní může být členem oboru názvů nebo třídy a může obsahovat podpisy následující členy:

Rozhraní může dědit z jedné nebo více základních rozhraní.

Základní typ seznamu obsahuje základní třídy a rozhraní, musí pocházet základní třídy, v seznamu první.

Třída, která implementuje rozhraní explicitně implementovat členy rozhraní.Explicitně implementované člena nelze přistupovat prostřednictvím instance třídy, ale pouze prostřednictvím instance rozhraní.

Další podrobnosti a příklady kódu na explicitní implementace rozhraní, viz Explicitní implementace rozhraní (Příručka programování C#).

Příklad implementace rozhraní.V tomto příkladu obsahuje rozhraní deklarace vlastnosti a třídy provádění.Libovolnou instanci třídy, která implementuje IPoint má vlastnosti celé x a y.

interface IPoint
{
   // Property signatures:
   int x
   {
      get;
      set;
   }

   int y
   {
      get;
      set;
   }
}

class Point : IPoint
{
   // Fields:
   private int _x;
   private int _y;

   // Constructor:
   public Point(int x, int y)
   {
      _x = x;
      _y = y;
   }

   // Property implementation:
   public int x
   {
      get
      {
         return _x;
      }

      set
      {
         _x = value;
      }
   }

   public int y
   {
      get
      {
         return _y;
      }
      set
      {
         _y = value;
      }
   }
}

class MainClass
{
   static void PrintPoint(IPoint p)
   {
      Console.WriteLine("x={0}, y={1}", p.x, p.y);
   }

   static void Main()
   {
      Point p = new Point(2, 3);
      Console.Write("My Point: ");
      PrintPoint(p);
   }
}
// Output: My Point: x=2, y=3

Specifikace jazyka C#

Další informace naleznete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

Typy odkazů (C#-Reference)

Rozhraní (Příručka programování C#)

Pomocí vlastnosti (Příručka programování C#)

Pomocí indexování (Příručka programování C#)

třídy (C#-Reference)

Struktura (C#-Reference)

Rozhraní (Příručka programování C#)

Koncepty

Příručka programování C#

Další zdroje

C#-Reference