Interfejs właściwości (Podręcznik programowania C#)
Właściwości może być deklarowany na Interfejs (C# odniesienia).Poniżej przedstawiono przykład akcesor indeksatora interfejsu:
public interface ISampleInterface
{
// Property declaration:
string Name
{
get;
set;
}
}
Akcesor właściwości interfejsu nie ma organu.W ten sposób celem akcesorów jest wskazanie, czy właściwość jest odczytu i zapisu, tylko do odczytu lub tylko do zapisu.
Przykład
W tym przykładzie interfejs IEmployee ma właściwość odczytu i zapisu, Nameoraz właściwości tylko do odczytu, Counter.Klasa Employee implementuje IEmployee interfejs i korzysta z tych dwóch właściwości.Program odczytuje nazwę nowego pracownika i bieżącą liczbę pracowników i wyświetla nazwisko pracownika oraz numer pracownika obliczanej.
Można użyć w pełni kwalifikowanej nazwy właściwość, która odwołuje się do interfejsu, w którym jest zadeklarowany jako członek.Na przykład:
string IEmployee.Name
{
get { return "Employee Name"; }
set { }
}
Jest to tak zwane Jawne implementacji interfejsu (Podręcznik programowania C#).Na przykład jeśli klasy Employee jest implementowanie interfejsów dwóch ICitizen i IEmployee i oba interfejsy mają Name właściwość, jawnej implementacji Członkowskie będzie konieczne.Oznacza to, że następujące oświadczenie właściwości:
string IEmployee.Name
{
get { return "Employee Name"; }
set { }
}
implementuje Name właściwość IEmployee interfejsu podczas następującą deklarację:
string ICitizen.Name
{
get { return "Citizen Name"; }
set { }
}
implementuje Name właściwość ICitizen interfejsu.
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
Przykładowe dane wyjściowe
Enter number of employees: 210
Enter the name of the new employee: Hazem Abolrous
The employee information:
Employee number: 211
Employee name: Hazem Abolrous
Zobacz też
Informacje
Właściwości (Podręcznik programowania C#)
Za pomocą właściwości (Podręcznik programowania C#)
Porównanie właściwości i indeksatory (Podręcznik programowania C#)
Indeksatory (Podręcznik programowania C#)
Interfejsy (Podręcznik programowania C#)