2008-11-07 7 views

Répondre

1

Cela fait probablement référence à la classe Attribute. Par exemple, vous pouvez marquer un type comme sérialisable via SerializableAttribute. Lorsque vous appliquez un attribut, vous pouvez ignorer le suffixe "Attribut".

[Serializable] 
public class SomeClass { 

} 

Les attributs fournissent un moyen d'ajouter des métadonnées sur le code.

1

Les attributs sont utilisés pour ajouter des métadonnées au code .NET (C#) de manière structurée. Ce que beaucoup de gens ne réalisent pas, cependant, c'est qu'il existe en réalité deux types d'attribut.

Le plus simple est les attributs personnalisés, dans lesquels vous définissez un attribut que les classes spécifiques recherchent pour modifier leur fonctionnement. Un exemple courant est les attributs System.Xml.Serialization qui sont lus par le XmlSerializer pour modifier sa sortie, par ex. une classe pourrait être marqué quelque chose comme ce qui suit pour spécifier son espace de noms et que le champ doit être un attribut:

[XmlType(Namespace = "http://mycompany.com/")] 
public class MyClass 
{ 
    [XmlAttribute] 
    public string MyField; 
} 

Les attributs personnalisés comme celui-ci ont aucun sens au compilateur ou l'exécution, ils sont simplement ajoutés à la classe dans le cadre de ses métadonnées, et peut être récupéré par un appel à Type.GetCustomAttributes.

L'autre groupe principal d'attributs est constitué d'attributs pseudo-personnalisés, qui ont en réalité une signification pour le compilateur ou l'exécution. L'exemple dans la publication par Haacked avec SerializableAttribute est en fait un exemple d'attribut pseudo-personnalisé. Il est réellement stocké dans le cadre de la définition de type et ne peut pas être récupéré en utilisant Type.GetCustomAttributes. Vous ne pouvez pas créer vos propres attributs pseudo-personnalisés.

Il est donc probable que vous ayez affaire ici à un attribut personnalisé qui est recherché par un outil spécifique.

Questions connexes