Partager via


ReadOnlyAttribute Classe

Définition

Spécifie si la propriété à laquelle cet attribut est lié 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 =>
        // Insert code here.
        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 la ReadOnlyAttribute valeur pour MyProperty. Tout d’abord, le code obtient une PropertyDescriptorCollection valeur avec toutes les propriétés de l’objet. Ensuite, il indexe dans le PropertyDescriptorCollection fichier pour obtenir MyProperty. Ensuite, elle retourne les attributs de cette propriété et les enregistre dans la variable d’attributs.

L’exemple présente deux façons différentes de vérifier la valeur du 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 le ReadOnlyAttributecode suivant, 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 définie 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 l’ensemble ReadOnlyAttribute à false lire/écrire, et qui peuvent être modifiés. La valeur par défaut est No.

Important

La PropertyDescriptor classe applique l’environnement ReadOnlyAttribute de conception et au moment de l’exécution. Lorsque vous marquez une propriété avec la ReadOnlyAttributetruevaleur définie sur , la valeur de cet attribut est définie sur le membre Yesconstant . Pour une propriété marquée avec la ReadOnlyAttribute valeur définie 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

Nom Description
ReadOnlyAttribute(Boolean)

Initialise une nouvelle instance de la classe ReadOnlyAttribute.

Champs

Nom Description
Default

Spécifie la valeur par défaut du ReadOnlyAttributeparamètre ( No autrement dit, la propriété à laquelle cet attribut est lié est en lecture/écriture). Ce static champ 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 static champ 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 static champ est en lecture seule.

Propriétés

Nom Description
IsReadOnly

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

TypeId

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

(Hérité de Attribute)

Méthodes

Nom Description
Equals(Object)

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

GetHashCode()

Retourne le code de hachage pour cette instance.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

Détermine si cet attribut est la valeur par défaut.

Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
_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 d’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 méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi