ReadOnlyAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 ReadOnlyAttribute für MyProperty
überprüft wird. Zunächst ruft der Code eine PropertyDescriptorCollection mit allen Eigenschaften für das -Objekt ab. Als Nächstes indiziert es in den PropertyDescriptorCollection , um abzurufen MyProperty
. Anschließend werden die Attribute für diese Eigenschaft zurückgegeben und in der Variablen attribute gespeichert.
Das Beispiel zeigt zwei verschiedene Möglichkeiten zum Überprüfen des Werts von ReadOnlyAttribute. Im zweiten Codefragment ruft das Beispiel die -Methode auf Equals . 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 ReadOnlyAttributemarkiert 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 ReadOnlyAttribute Einstellung auf true
gekennzeichnet sind oder keine -Methode aufweisen Set
, können nicht geändert werden. Elemente, die nicht über dieses Attribut verfügen oder die mit dem ReadOnlyAttribute Satz auf false
gekennzeichnet sind, sind Lese-/Schreibzugriff und können geändert werden. Der Standardwert ist No.
Wichtig
Die PropertyDescriptor -Klasse erzwingt das ReadOnlyAttribute in der Entwurfsumgebung und zur Laufzeit. Wenn Sie eine Eigenschaft mit dem ReadOnlyAttribute Wert auf true
markieren, wird der Wert dieses Attributs auf das konstante Element Yesfestgelegt. Für eine Eigenschaft, die mit festgelegt ReadOnlyAttribute auf false
gekennzeichnet ist, 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 |
No |
Gibt an, dass die an dieses Attribut gebundene Eigenschaft über Lese-/Schreibzugriff verfügt und bearbeitet werden kann. Dieses |
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 |
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) |