Propriétés d'interface (C#)

Guide de référence du programmeur C# 
Propriétés d'interface (guide de programmation C#) 

Les propriétés peuvent être déclarées sur une interface (référence C#). Exemple d'accesseur d'indexeur d'interface :



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

L'accesseur d'une propriété d'interface ne possède pas de corps. Ainsi, les accesseurs ont pour objet d'indiquer si la propriété est en lecture-écriture, en écriture seule ou en lecture seule.

ExempleExemple

Dans cet exemple, l'interface IEmployee possède une propriété en lecture-écriture, Name, et une propriété en lecture seule, Counter. La classe Employee implémente l'interface IEmployee et utilise ces deux propriétés. Le programme lit le nom d'un nouvel employé et le nombre actuel d'employés, puis affiche le nom de l'employé et le nombre d'employés calculé.

Vous pourriez utiliser le nom complet de la propriété, qui fait référence à l'interface dans laquelle le membre est déclaré. Par exemple :



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

C'est ce qu'on appelle Implémentation d'interface explicite (guide de programmation C#). Par exemple, si la classe Employee implémente deux interfaces ICitizen et IEmployee, et que ces deux interfaces possèdent la propriété Name, l'implémentation explicite des membres d'interface est nécessaire. Ainsi, la déclaration de propriété suivante :



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

implémente la propriété Name sur l'interface IEmployee, tandis que la déclaration :



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

implémente la propriété Name sur l'interface ICitizen.



C#
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);
    }
}

Entrée

210
Hazem Abolrous
Résultat de l'exempleRésultat de l'exemple

Enter number of employees: 210

Enter the name of the new employee: Hazem Abolrous

The employee information:

Employee number: 211

Employee name: Hazem Abolrous

Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/64syzecx.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-6852
Document créé le 07/11/06 04:58, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-64syzecx.html Document affiché 4 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,79 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Un véritable ami vous poignarde en face.

Oscar Wilde
 
l'infobrol
Nous sommes le Jeudi 31 Mai 2012, 00:43, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)