Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

ReadOnlyAttribute, classe

Spécifie si la propriété à laquelle est lié cet attribut est en lecture seule ou en lecture/écriture. Cette classe ne peut pas être héritée.

System.Object
  System.Attribute
    System.ComponentModel.ReadOnlyAttribute

Espace de noms :  System.ComponentModel
Assembly :  System (dans System.dll)

[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute

Le type ReadOnlyAttribute expose les membres suivants.

  NomDescription
Méthode publiqueReadOnlyAttributeInitialise une nouvelle instance de la classe ReadOnlyAttribute.
Début

  NomDescription
Propriété publiqueIsReadOnlyObtient une valeur indiquant si la propriété à laquelle est lié cet attribut est en lecture seule.
Propriété publiqueTypeIdLors de son implémentation dans une classe dérivée, obtient un identificateur unique pour Attribute. (Hérité de Attribute.)
Début

  NomDescription
Méthode publiqueEqualsIndique si cette instance et un objet spécifié sont égaux. (Substitue Attribute.Equals(Object).)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueGetHashCodeRetourne le code de hachage pour cette instance. (Substitue Attribute.GetHashCode().)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueIsDefaultAttributeDétermine si cet attribut est l'attribut par défaut. (Substitue Attribute.IsDefaultAttribute().)
Méthode publiqueMatchEn cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

  NomDescription
Champ publicMembre statiqueDefaultSpécifie la valeur par défaut de ReadOnlyAttribute, à savoir No (c'est-à-dire que la propriété à laquelle cet attribut est lié est en lecture/écriture). Ce champ static est en lecture seule.
Champ publicMembre statiqueNoSpécifie que la propriété à laquelle cet attribut est lié est en lecture/écriture et peut être modifiée. Ce champ static est en lecture seule.
Champ publicMembre statiqueYesSpécifie que la propriété à laquelle cet attribut est lié est en lecture seule et ne peut pas être modifiée dans l'Explorateur de serveurs. Ce champ static est en lecture seule.
Début

  NomDescription
Implémentation d'interface expliciteMéthode privée_Attribute.GetIDsOfNamesMappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoRécupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoCountRécupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.InvokeFournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)
Début

Les membres marqués avec ReadOnlyAttribute dont la valeur est true ou qui ne possèdent pas de méthode Set ne peuvent pas être modifiés. Les membres qui ne possèdent pas cet attribut ou qui sont marqués avec ReadOnlyAttribute dont la valeur est false sont en lecture/écriture et ils sont modifiables. La valeur par défaut est No.

Remarque importanteImportant

La classe PropertyDescriptor applique ReadOnlyAttribute dans l'environnement de conception et au moment de l'exécution. Si vous marquez une propriété avec ReadOnlyAttribute dont la valeur est true, cet attribut prend la valeur Yes du membre de constante. Pour une propriété marquée avec ReadOnlyAttribute dont la valeur est false, la valeur est No. Par conséquent, lorsque vous vérifiez la valeur de cet attribut dans votre code, vous devez spécifier l'attribut égal à ReadOnlyAttribute.Yes ou ReadOnlyAttribute.No.

Pour plus d'informations, consultez Extension des métadonnées à l'aide des attributs.

L'exemple de code suivant marque une propriété comme étant en lecture seule.


[ReadOnly(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
}


L'exemple de code suivant montre comment vérifier la valeur de ReadOnlyAttribute pour MyProperty. Le code obtient d'abord un PropertyDescriptorCollection avec toutes les propriétés de l'objet. Il indexe ensuite dans PropertyDescriptorCollection pour obtenir MyProperty. Il retourne ensuite les attributs pour cette propriété et les enregistre dans la variable d'attributs.

L'exemple présente deux méthodes différentes pour vérifier la valeur de ReadOnlyAttribute. Dans le deuxième fragment de code, l'exemple appelle la méthode Equals. Dans le dernier fragment de code, l'exemple utilise la propriété IsReadOnly pour vérifier la valeur.


// Gets the attributes for the property.
AttributeCollection attributes = 
   TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;

// Checks to see whether the value of the ReadOnlyAttribute is Yes.
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}

// This is another way to see whether the property is read-only.
ReadOnlyAttribute myAttribute = 
   (ReadOnlyAttribute)attributes[typeof(ReadOnlyAttribute)];
if(myAttribute.IsReadOnly) {
   // Insert code here.
}


Si vous avez marqué une classe avec ReadOnlyAttribute, utilisez l'exemple de code suivant pour vérifier la valeur.


AttributeCollection attributes = 
   TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft