ReadOnlyAttribute Classe

Définition

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.

public ref class ReadOnlyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute
public sealed class ReadOnlyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type ReadOnlyAttribute = class
    inherit Attribute
type ReadOnlyAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyAttribute
Inherits Attribute
Héritage
ReadOnlyAttribute
Attributs

Exemples

L’exemple de code suivant marque une propriété en lecture seule.

   [ReadOnly(true)]
   int get()
   {
      // Insert code here.
      return 0;
   }
}
[ReadOnly(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
}
Public ReadOnly Property MyProperty() As Integer
    Get
        ' Insert code here.
        Return 0
    End Get
End Property

L’exemple de code suivant montre comment vérifier la valeur de ReadOnlyAttribute pour MyProperty . Tout d’abord, le code obtient un PropertyDescriptorCollection avec toutes les propriétés de l’objet. Ensuite, il indexe dans le PropertyDescriptorCollection à récupérer MyProperty . Elle retourne ensuite les attributs de cette propriété et les enregistre dans la variable d’attributs.

L’exemple présente deux méthodes différentes de vérification de la valeur de ReadOnlyAttribute . Dans le deuxième fragment de code, l’exemple appelle la Equals méthode. Dans le dernier fragment de code, l’exemple utilise la IsReadOnly propriété 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[ ReadOnlyAttribute::typeid ]->Equals( ReadOnlyAttribute::Yes ) )
{
   // Insert code here.
}

// This is another way to see whether the property is read-only.
ReadOnlyAttribute^ myAttribute = dynamic_cast<ReadOnlyAttribute^>(attributes[ ReadOnlyAttribute::typeid ]);
if ( myAttribute->IsReadOnly )
{
   // Insert code here.
}
// 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.
}
' Gets the attributes for the property.
Dim attributes As AttributeCollection = _
    TypeDescriptor.GetProperties(Me)("MyProperty").Attributes

' Checks to see whether the value of the ReadOnlyAttribute is Yes.
If attributes(GetType(ReadOnlyAttribute)).Equals(ReadOnlyAttribute.Yes) Then
    ' Insert code here.
End If 

' This is another way to see whether the property is read-only.
Dim myAttribute As ReadOnlyAttribute = _
    CType(attributes(GetType(ReadOnlyAttribute)), ReadOnlyAttribute)
    
If myAttribute.IsReadOnly Then
    ' Insert code here.
End If

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[ ReadOnlyAttribute::typeid ]->Equals( ReadOnlyAttribute::Yes ) )
{
   // Insert code here.
}
AttributeCollection attributes = 
   TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(ReadOnlyAttribute)).Equals(ReadOnlyAttribute.Yes) Then
    ' Insert code here.
End If

Remarques

Les membres marqués avec la ReadOnlyAttribute valeur true ou qui n’ont pas de Set méthode ne peuvent pas être modifiés. Les membres qui n’ont pas cet attribut ou qui sont marqués avec le ReadOnlyAttribute jeu false sont en lecture/écriture et peuvent être modifiés. La valeur par défaut est No.

Important

La PropertyDescriptor classe applique le ReadOnlyAttribute dans l’environnement de conception et au moment de l’exécution. Lorsque vous marquez une propriété avec le ReadOnlyAttribute défini sur true , la valeur de cet attribut est définie sur le membre constant Yes . Pour une propriété marquée avec la valeur ReadOnlyAttribute false , la valeur est No . Par conséquent, lorsque vous souhaitez vérifier la valeur de cet attribut dans votre code, vous devez spécifier l’attribut en tant que ReadOnlyAttribute.Yes ou ReadOnlyAttribute.No .

Pour plus d’informations, consultez Attributs.

Constructeurs

ReadOnlyAttribute(Boolean)

Initialise une nouvelle instance de la classe ReadOnlyAttribute.

Champs

Default

Spé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.

No

Spé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.

Yes

Spé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.

Propriétés

IsReadOnly

Obtient une valeur indiquant si la propriété à laquelle est lié cet attribut est en lecture seule.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Indique si cette instance et un objet spécifié sont égaux.

GetHashCode()

Retourne le code de hachage de cette instance.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

Détermine si cet attribut est l'attribut par défaut.

IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En 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)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ré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)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi