ReadOnlyAttribute Klasse

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. Diese Klasse kann nicht vererbt werden.

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
Vererbung
ReadOnlyAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird eine Eigenschaft als schreibgeschützt markiert.

   [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 der Wert von für MyPropertyüberprüft wirdReadOnlyAttribute. Zunächst ruft der Code einen PropertyDescriptorCollection mit allen Eigenschaften für das -Objekt ab. Als Nächstes wird in der PropertyDescriptorCollection indiziert, um abzurufen MyProperty. Anschließend werden die Attribute für diese Eigenschaft zurückgegeben und in der Variablen attributes gespeichert.

Im Beispiel werden zwei verschiedene Möglichkeiten zum Überprüfen des Werts von dargestellt ReadOnlyAttribute. Im zweiten Codefragment ruft das Beispiel die Equals -Methode auf. Im letzten Codefragment wird im Beispiel die IsReadOnly -Eigenschaft verwendet, um den Wert zu überprüfen.

// 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 markiert haben ReadOnlyAttribute, verwenden Sie das folgende Codebeispiel, um den Wert zu überprüfen.

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

Hinweise

Member, die mit dem ReadOnlyAttribute -Wert markiert true sind oder keine -Methode aufweisen Set , können nicht geändert werden. Member, die nicht über dieses Attribut verfügen oder die mit dem ReadOnlyAttribute Satz auf false gekennzeichnet sind, sind Lese-/Schreibzugriff, und sie können geändert werden. Der Standardwert ist No.

Wichtig

Die PropertyDescriptor -Klasse erzwingt die ReadOnlyAttribute in der Entwurfsumgebung und zur Laufzeit. Wenn Sie eine Eigenschaft mit dem ReadOnlyAttribute festlegen true, wird der Wert dieses Attributs auf den konstanten Member Yesfestgelegt. Für eine Eigenschaft, die ReadOnlyAttribute mit auf gekennzeichnet falseist, ist Noder Wert . Wenn Sie daher den Wert dieses Attributs in Ihrem Code überprüfen möchten, müssen Sie das Attribut als ReadOnlyAttribute.Yes oder ReadOnlyAttribute.Noangeben.

Weitere Informationen finden Sie unter Attribute.

Konstruktoren

ReadOnlyAttribute(Boolean)

Initialisiert eine neue Instanz der ReadOnlyAttribute-Klasse.

Felder

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). Dieses static-Feld ist schreibgeschützt.

No

Gibt an, dass die an dieses Attribut gebundene Eigenschaft über Lese-/Schreibzugriff verfügt und bearbeitet werden kann. Dieses static-Feld ist schreibgeschützt.

Yes

Gibt an, dass die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist und nicht im Server-Explorer verändert werden kann. Dieses static-Feld ist schreibgeschützt.

Eigenschaften

IsReadOnly

Ruft einen Wert ab, der angibt, ob die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt an, ob diese Instanz und ein angegebenes Objekt gleich sind.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Bestimmt, ob dieses Attribut der Standardwert ist.

IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von 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.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von 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.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen