Sdílet prostřednictvím


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

Vlastnosti lze deklarovat na rozhraní (C#-Reference).Následuje příklad přístupový objekt rozhraní indexování:

public interface ISampleInterface
{
    // Property declaration:
    string Name
    {
        get;
        set;
    }
}

Přístupový objekt vlastnosti rozhraní nemá subjektu.Účelem přístupové objekty tedy označuje, zda je vlastnost pro čtení a zápis, jen pro čtení nebo jen pro zápis.

Příklad

V tomto příkladu rozhraní IEmployee má vlastnost pro čtení a zápis, Namea vlastnost jen pro čtení, Counter.Třída Employee implementuje IEmployee rozhraní a používá tyto dvě vlastnosti.Program načte název nového zaměstnance a aktuální počet zaměstnanců a zobrazí jméno zaměstnance a vypočtené číslo.

Můžete použít úplný název vlastnosti, která odkazuje na rozhraní, ve kterém je deklarována jako člen.Příklad:

string IEmployee.Name
{
    get { return "Employee Name"; }
    set { }
}

To se nazývá Explicitní implementace rozhraní (Příručka programování C#).Například pokud třída Employee je implementace rozhraní dvou ICitizen a IEmployee a mít obě rozhraní Name vlastnost člena provádění explicitní rozhraní bude nezbytné.Je vlastnost prohlášení:

string IEmployee.Name
{
    get { return "Employee Name"; }
    set { }
}

implementuje Name vlastnost IEmployee rozhraní při následující prohlášení:

string ICitizen.Name
{
    get { return "Citizen Name"; }
    set { }
}

implementuje Name vlastnost ICitizen rozhraní.

interface IEmployee
{
    string Name
    {
        get;
        set;
    }

    int Counter
    {
        get;
    }
}

public class Employee : IEmployee
{
    public static int numberOfEmployees;

    private string name;
    public string Name  // read-write instance property
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

    private int counter;
    public int Counter  // read-only instance property
    {
        get
        {
            return counter;
        }
    }

    public Employee()  // constructor
    {
        counter = ++counter + numberOfEmployees;
    }
}

class TestEmployee
{
    static void Main()
    {
        System.Console.Write("Enter number of employees: ");
        Employee.numberOfEmployees = int.Parse(System.Console.ReadLine());

        Employee e1 = new Employee();
        System.Console.Write("Enter the name of the new employee: ");
        e1.Name = System.Console.ReadLine();

        System.Console.WriteLine("The employee information:");
        System.Console.WriteLine("Employee number: {0}", e1.Counter);
        System.Console.WriteLine("Employee name: {0}", e1.Name);
    }
}
  210
Hazem Abolrous

Vzorový výstup

Enter number of employees: 210

Enter the name of the new employee: Hazem Abolrous

The employee information:

Employee number: 211

Employee name: Hazem Abolrous

Viz také

Referenční dokumentace

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

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

Srovnání vlastností a indexování (Příručka programování C#)

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

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

Koncepty

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