Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ReadOnlyAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt an, ob die Eigenschaft, die dieses Attribut gebunden ist schreibgeschützt ist oder Lese-/Schreibzugriff. Diese Klasse kann nicht vererbt werden.

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

System.Object
  System.Attribute
    System.ComponentModel.ReadOnlyAttribute

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

NameBeschreibung
System_CAPS_pubmethodReadOnlyAttribute(Boolean)

Initialisiert eine neue Instanz der ReadOnlyAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyIsReadOnly

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

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Gibt an, ob diese Instanz und ein angegebenes Objekt gleich sind.(Überschreibt Attribute.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Überschreibt Attribute.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Bestimmt, ob dieses Attribut der Standardwert ist.(Überschreibt Attribute.IsDefaultAttribute().)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticDefault

Gibt den Standardwert für die ReadOnlyAttribute, die No (d. h. für die Eigenschaft, die dieses Attribut gebunden ist, ist Lese-/Schreibzugriff). Diese static Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticNo

Gibt an, dass die Eigenschaft, der dieses Attribut gebunden ist Lese-/Schreibzugriff und geändert werden kann. Diese static Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticYes

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

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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“.)

Mit gekennzeichnete Member der ReadOnlyAttribute festgelegt true oder, die nicht über eine Set Methode kann nicht geändert werden. Member, die nicht über dieses Attribut verfügen oder mit markiert sind, die ReadOnlyAttribute festgelegt false weisen Lese-/Schreibzugriff und können geändert werden. Die Standardeinstellung ist No.

System_CAPS_importantWichtig

Die PropertyDescriptor -Klasse erzwingt die ReadOnlyAttribute während der Entwicklung und zur Laufzeit. Wenn Sie eine Eigenschaft mit dem Markieren der ReadOnlyAttribute festgelegt true, wird der Wert dieses Attributs auf den Konstanten Member festgelegt Yes. Für eine Eigenschaft mit dem ReadOnlyAttribute festgelegt false, ist der Wert No. Daher, wenn Sie den Wert dieses Attributs im Code überprüfen möchten, geben Sie das Attribut als ReadOnlyAttribute.Yes oder ReadOnlyAttribute.No.

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 nächsten Codebeispiel wird veranschaulicht, wie auf den Wert überprüfen die ReadOnlyAttribute für MyProperty. Zunächst wird ein PropertyDescriptorCollection mit allen Eigenschaften für das Objekt. Als Nächstes werden indiziert in der PropertyDescriptorCollection abzurufenden MyProperty. Anschließend werden die Attribute für diese Eigenschaft zurückgegeben und in der Attributes-Variablen gespeichert.

Das Beispiel zeigt zwei verschiedene Arten der Überprüfung des Werts der der ReadOnlyAttribute. Im zweiten Codefragment, das Beispiel ruft die Equals Methode. Im letzten Codefragment, das Beispiel verwendet 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[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 markiert die ReadOnlyAttribute, verwenden Sie im folgenden Codebeispiel wird den Wert überprüft.

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

.NET Framework
Verfügbar seit 1.1
Silverlight
Verfügbar seit 3.0
Windows Phone Silverlight
Verfügbar seit 7.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: