ReadOnlyAttribute Class

Definition

Gibt an, ob es sich bei der Eigenschaft, an die dieses Attribut gebunden ist, um eine schreibgeschützte Eigenschaft oder um eine Lese-/Schreib-Eigenschaft handelt.Specifies whether the property this attribute is bound to is read-only or read/write. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class ReadOnlyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute
public sealed class ReadOnlyAttribute : Attribute
type ReadOnlyAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyAttribute
Inherits Attribute
Inheritance
ReadOnlyAttribute
Attributes

Examples

Im folgenden Codebeispiel wird eine-Eigenschaft als schreibgeschützt markiert.The following code example marks a property as read-only.

   [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

Im nächsten Codebeispiel wird gezeigt, wie Sie den Wert der ReadOnlyAttribute für MyPropertyüberprüfen.The next code example shows how to check the value of the ReadOnlyAttribute for MyProperty. Zuerst erhält der Code eine PropertyDescriptorCollection mit allen Eigenschaften für das-Objekt.First, the code gets a PropertyDescriptorCollection with all the properties for the object. Im nächsten Schritt wird der PropertyDescriptorCollection, um MyPropertyzu erhalten.Next, it indexes into the PropertyDescriptorCollection to get MyProperty. Anschließend werden die Attribute für diese Eigenschaft zurückgegeben und in der Attribut Variablen gespeichert.Then it returns the attributes for this property and saves them in the attributes variable.

Das Beispiel zeigt zwei verschiedene Möglichkeiten, den Wert der ReadOnlyAttributezu überprüfen.The example presents two different ways of checking the value of the ReadOnlyAttribute. Im zweiten Code Fragment Ruft das Beispiel die Equals-Methode auf.In the second code fragment, the example calls the Equals method. Im letzten Code Fragment verwendet das Beispiel die IsReadOnly-Eigenschaft, um den Wert zu überprüfen.In the last code fragment, the example uses the IsReadOnly property to check the value.

// 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 

Wenn Sie eine Klasse mit dem ReadOnlyAttributegekennzeichnet haben, verwenden Sie das folgende Codebeispiel, um den Wert zu überprüfen.If you marked a class with the ReadOnlyAttribute, use the following code example to check the value.

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 

Remarks

Member, die mit dem ReadOnlyAttribute auf true und keine Set-Methode festgelegt sind, können nicht geändert werden.Members that are marked with the ReadOnlyAttribute set to true or that do not have a Set method cannot be changed. Member, die nicht über dieses Attribut verfügen oder mit dem ReadOnlyAttribute auf false gekennzeichnet sind, sind Lese-/Schreibzugriff, und Sie können geändert werden.Members that do not have this attribute or that are marked with the ReadOnlyAttribute set to false are read/write, and they can be changed. Der Standardwert lautet No.The default is No.

Important

Die PropertyDescriptor-Klasse erzwingt die ReadOnlyAttribute in der Entwurfs Umgebung und zur Laufzeit.The PropertyDescriptor class enforces the ReadOnlyAttribute in the design environment and at run time. Wenn Sie eine Eigenschaft mit dem ReadOnlyAttribute auf truefestgelegt haben, wird der Wert dieses Attributs auf das Konstante Element Yesfestgelegt.When you mark a property with the ReadOnlyAttribute set to true, the value of this attribute is set to the constant member Yes. Für eine Eigenschaft, die mit dem ReadOnlyAttribute auf falsefestgelegt ist, ist der Wert No.For a property marked with the ReadOnlyAttribute set to false, the value is No. Wenn Sie also den Wert dieses Attributs im Code überprüfen möchten, müssen Sie das-Attribut als ReadOnlyAttribute.Yes oder ReadOnlyAttribute.Noangeben.Therefore, when you want to check the value of this attribute in your code, you must specify the attribute as ReadOnlyAttribute.Yes or ReadOnlyAttribute.No.

Weitere Informationen finden Sie unter Attribute.For more information, see Attributes.

Constructors

ReadOnlyAttribute(Boolean)

Initialisiert eine neue Instanz der Klasse ReadOnlyAttribute.Initializes a new instance of the ReadOnlyAttribute class.

Fields

Default

Gibt den Standardwert für das ReadOnlyAttribute an, der No ist (d. h., die Eigenschaft, an die dieses Attribut gebunden ist, ist eine Lese-/Schreibeigenschaft).Specifies the default value for the ReadOnlyAttribute, which is No (that is, the property this attribute is bound to is read/write). Dieses static-Feld ist schreibgeschützt.This static field is read-only.

No

Gibt an, dass die an dieses Attribut gebundene Eigenschaft über Lese-/Schreibzugriff verfügt und bearbeitet werden kann.Specifies that the property this attribute is bound to is read/write and can be modified. Dieses static-Feld ist schreibgeschützt.This static field is read-only.

Yes

Gibt an, dass die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist und nicht im Server-Explorer verändert werden kann.Specifies that the property this attribute is bound to is read-only and cannot be modified in the server explorer. Dieses static-Feld ist schreibgeschützt.This static field is read-only.

Properties

IsReadOnly

Ruft einen Wert ab, der angibt, ob die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist.Gets a value indicating whether the property this attribute is bound to is read-only.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object)

Gibt an, ob diese Instanz und ein angegebenes Objekt gleich sind.Indicates whether this instance and a specified object are equal.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

Bestimmt, ob dieses Attribut der Standardwert ist.Determines if this attribute is the default.

IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See also