(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ReadOnlyAttribute-Klasse

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 geerbt werden.

System.Object
  System.Attribute
    System.ComponentModel.ReadOnlyAttribute

Namespace:  System.ComponentModel
Assembly:  System (in System.dll)

[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute

Der ReadOnlyAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeReadOnlyAttributeInitialisiert eine neue Instanz der ReadOnlyAttribute-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftIsReadOnlyRuft einen Wert ab, der angibt, ob die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist.
Öffentliche EigenschaftTypeIdBei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEqualsGibt an, ob diese Instanz und ein angegebenes Objekt gleich sind. (Überschreibt Attribute.Equals(Object).)
Öffentliche MethodeGetHashCodeGibt den Hashcode für diese Instanz zurück. (Überschreibt Attribute.GetHashCode().)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeBestimmt, ob dieses Attribut der Standardwert ist. (Überschreibt Attribute.IsDefaultAttribute().)
Öffentliche MethodeMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliches FeldStatischer MemberDefaultGibt 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.
Öffentliches FeldStatischer MemberNoGibt an, dass die an dieses Attribut gebundene Eigenschaft über Lese-/Schreibzugriff verfügt und bearbeitet werden kann. Dieses static-Feld ist schreibgeschützt.
Öffentliches FeldStatischer MemberYesGibt 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.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

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

Wichtiger HinweisWichtig

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

Weitere Informationen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

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


[ReadOnly(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
}


Im folgenden Beispiel wird veranschaulicht, wie der Wert von ReadOnlyAttribute für MyProperty überprüft wird. Zunächst wird im Code eine PropertyDescriptorCollection mit allen Eigenschaften für das Objekt abgerufen. Anschließend wird MyProperty über den Index in PropertyDescriptorCollection abgerufen. Die Attribute für diese Eigenschaft werden zurückgegeben und in der Variablen attributes gespeichert.

Im Beispiel werden zwei verschiedene Möglichkeiten zum Überprüfen des Werts von ReadOnlyAttribute gezeigt. Im zweiten Codefragment wird die Equals-Methode aufgerufen. Im letzten Codefragment wird der Wert anhand der IsReadOnly-Eigenschaft überprüft.


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


Wenn Sie eine Klasse mit ReadOnlyAttribute markiert haben, überprüfen Sie den Wert mit folgendem Code.


AttributeCollection attributes = 
   TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft