interface (Referenční dokumentace jazyka C#)
Rozhraní obsahuje pouze podpisy metod, vlastností x9fsa0sw(v=vs.120).md, událostí awbftdfh(v=vs.120).md nebo indexování 6x16t2tx(v=vs.120).md.Třídu nebo strukturu, která implementuje rozhraní musí implementovat členy rozhraní zadané v definici rozhraní.V následujícím příkladu musí třída ImplementationClass implementovat metodu s názvem SampleMethod, která nemá žádné parametry a vrací void.
Další informace a příklady naleznete v tématu Rozhraní (Průvodce programováním v 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ích členů:
Rozhraní může dědit z jednoho nebo více základních rozhraní.
Jestliže základní typ seznamu obsahuje základní třídu a rozhraní, musí se základní třída nacházet v seznamu jako první.
Třída, která implementuje rozhraní může explicitně implementovat členy rozhraní.Explicitně implementovaný člen není přístupný prostřednictvím instance třídy, ale pouze prostřednictvím instance rozhraní.
Podrobné informace a příkladech kódu explicitní implementace rozhraní naleznete v tématu Implementace explicitního rozhraní (Průvodce programováním v C#).
Následující příklad ukazuje implementaci rozhraní.V tomto příkladu obsahuje rozhraní deklaraci vlastnosti a třída obsahuje implementaci.Jakákoli instance třídy, která implementuje rozhraní IPoint má celočíselné vlastnosti 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 najdete 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
Typy odkazů (Referenční dokumentace jazyka C#)
Rozhraní (Průvodce programováním v C#)
Použití vlastností (Průvodce programováním v C#)
Použití indexerů (Průvodce programováním v C#)
class (Referenční dokumentace jazyka C#)
struct (Referenční dokumentace jazyka C#)
Rozhraní (Průvodce programováním v C#)