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 die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt oder schreibgeschützt ist. 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 =>
// Insert code here.
0;
Public ReadOnly Property MyProperty() As Integer
Get
' Insert code here.
Return 0
End Get
End Property
Das nächste Codebeispiel zeigt, wie der Wert der ReadOnlyAttribute Datei überprüft MyPropertywird. Zuerst ruft der Code eine PropertyDescriptorCollection mit allen Eigenschaften für das Objekt ab. Als Nächstes wird es indiziert PropertyDescriptorCollection , um abzurufen MyProperty. Anschließend werden die Attribute für diese Eigenschaft zurückgegeben und in der Attributvariable gespeichert.
Im Beispiel werden zwei verschiedene Möglichkeiten zum Überprüfen des Werts der ReadOnlyAttribute. Im zweiten Codefragment ruft das Beispiel die Equals Methode 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 der ReadOnlyAttributeKlasse markiert 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
Elemente, die mit dem ReadOnlyAttribute Satz true gekennzeichnet sind oder nicht über eine Set Methode verfügen, können nicht geändert werden. Elemente, die nicht über dieses Attribut verfügen oder mit dem ReadOnlyAttribute Satz false gekennzeichnet sind, sind Lese-/Schreibzugriff, und sie können geändert werden. Der Standardwert lautet No.
Von Bedeutung
Die PropertyDescriptor Klasse erzwingt die ReadOnlyAttribute Entwurfsumgebung und zur Laufzeit. Wenn Sie eine Eigenschaft mit dem ReadOnlyAttribute Wert auf "Set" truemarkieren, wird der Wert dieses Attributs auf das konstante Element Yesfestgelegt. Bei einer Eigenschaft, die mit dem ReadOnlyAttribute Satz auf false" markiert ist , lautet 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.No.
Weitere Informationen finden Sie unter Attribute.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ReadOnlyAttribute(Boolean) |
Initialisiert eine neue Instanz der ReadOnlyAttribute-Klasse. |
Felder
| Name | Beschreibung |
|---|---|
| Default |
Gibt den Standardwert für den ReadOnlyAttributeWert an, der No (d. a. die Eigenschaft, an die dieses Attribut gebunden ist, ist lese-/schreibgeschützt). Dieses |
| No |
Gibt an, dass die Eigenschaft, an die dieses Attribut gebunden ist, Lese-/Schreibzugriff ist und geändert werden kann. Dieses |
| Yes |
Gibt an, dass die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist und im Server-Explorer nicht geändert werden kann. Dieses |
Eigenschaften
| Name | Beschreibung |
|---|---|
| IsReadOnly |
Ruft einen Wert ab, der angibt, ob die Eigenschaft, an die dieses Attribut gebunden ist, schreibgeschützt ist. |
| TypeId |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute. (Geerbt von Attribute) |
Methoden
| Name | Beschreibung |
|---|---|
| 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 die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IsDefaultAttribute() |
Bestimmt, ob dieses Attribut die Standardeinstellung ist. |
| Match(Object) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| _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 denen 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) |
Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden. (Geerbt von Attribute) |