Sommaire

Les attributs en C#

Une ambiguïté d’abord : il arrive que l’on nomme en français « attribut » ce que l’on définit comme « propriété ». Simple question de vocabulaire ; mais dans ce livre, et spécialement dans ce chapitre, les attributs désignent avant tout les options, que l’on place entre crochets au-dessus de la définition de la classe, et qui sont ajoutées comme métadonnées de l’assemblage lors de la compilation en langage intermédiaire.

Un des exemples d’utilisation les plus connus en C# est de rendre par l’usage d’un attribut, une classe « sérialisable » (serialization en anglais), c’est-à-dire à même d’être stockée sous un format plus compact, dans une base de données par exemple, à des fins de persistance (mais pas seulement). C#, comme nous le verrons plus tard, offre la possibilité de sérialiser en XML ou en JSON entre autres.

L’exemple suivant utilise l’attribut [Serializable] tout en précisant qu’une des propriétés n’est, elle, pas sérialisable :

[Serializable]  
public class Pays  
{  
    public string Capitale;  
    public int ID;  
    [NonSerialized]public double Superficie;  
}

1. Aspects syntaxiques

a. Attributs multiples

En cas d’attributs multiples, ...