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 ReadOnlyAttribute überprüft MyProperty wird. Zunächst ruft der Code ein PropertyDescriptorCollection -Objekt mit allen Eigenschaften für das -Objekt ab. Als Nächstes wird in indiziert, um PropertyDescriptorCollection zu MyProperty erhalten. 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 ReadOnlyAttribute präsentiert. Im zweiten Codefragment ruft das Beispiel die -Methode Equals auf. Im letzten Codefragment verwendet das Beispiel die IsReadOnly -Eigenschaft, 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 ReadOnlyAttribute haben, 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 der -Methode markiert sind, die auf festgelegt ist oder die ReadOnlyAttribute true keine Set -Methode haben, können nicht geändert werden. Member, die nicht über dieses Attribut verfügen oder mit der -Eigenschaft auf gekennzeichnet sind, sind ReadOnlyAttribute false Lese-/Schreibzugriff und können geändert werden. Der Standardwert ist No.

Wichtig

Die PropertyDescriptor -Klasse erzwingt ReadOnlyAttribute den in der Entwurfsumgebung und zur Laufzeit. Wenn Sie eine Eigenschaft markieren, bei der auf festgelegt ist, wird der Wert dieses Attributs ReadOnlyAttribute true auf den konstanten Member Yes festgelegt. Für eine Eigenschaft, die mit der auf ReadOnlyAttribute festgelegten false markiert ist, ist der Wert No . Wenn Sie daher den Wert dieses Attributs im Code überprüfen möchten, müssen Sie das Attribut als oder ReadOnlyAttribute.Yes ReadOnlyAttribute.No angeben.

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

Siehe auch