ReadOnlyAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy właściwość ta atrybut jest powiązana z jest tylko do odczytu, czy tylko do odczytu/zapisu. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład kodu oznacza właściwość jako tylko do odczytu.
[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
W następnym przykładzie kodu pokazano, jak sprawdzić wartość ReadOnlyAttribute elementu dla MyProperty
elementu . Najpierw kod pobiera PropertyDescriptorCollection obiekt ze wszystkimi właściwościami obiektu. Następnie indeksuje do elementu PropertyDescriptorCollection , aby pobrać MyProperty
element . Następnie zwraca atrybuty tej właściwości i zapisuje je w zmiennej atrybutów.
W przykładzie przedstawiono dwa różne sposoby sprawdzania wartości elementu ReadOnlyAttribute. W drugim fragmentze kodu przykład wywołuje metodę Equals . W ostatnim fragmentcie kodu w przykładzie użyto IsReadOnly właściwości do sprawdzenia wartości.
// 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
Jeśli oznaczono klasę przy użyciu klasy ReadOnlyAttribute, użyj poniższego przykładu kodu, aby sprawdzić wartość.
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
Uwagi
Nie można zmienić elementów członkowskich oznaczonych zestawem ReadOnlyAttribute lub true
nie mają Set
metody. Elementy członkowskie, które nie mają tego atrybutu lub które są oznaczone zestawem ReadOnlyAttribute do false
odczytu/zapisu, i można je zmienić. Wartość domyślna to No.
Ważne
Klasa PropertyDescriptor wymusza ReadOnlyAttribute element w środowisku projektowym i w czasie wykonywania. Gdy oznaczysz właściwość z ustawioną ReadOnlyAttribute wartością true
, wartość tego atrybutu jest ustawiona na stały element członkowski Yes. Dla właściwości oznaczonej wartością ustawioną na ReadOnlyAttributefalse
wartość , wartość to No. W związku z tym, jeśli chcesz sprawdzić wartość tego atrybutu w kodzie, musisz określić atrybut jako ReadOnlyAttribute.Yes lub ReadOnlyAttribute.No.
Aby uzyskać więcej informacji, zobacz Atrybuty.
Konstruktory
ReadOnlyAttribute(Boolean) |
Inicjuje nowe wystąpienie klasy ReadOnlyAttribute. |
Pola
Default |
Określa wartość domyślną elementu ReadOnlyAttribute, czyli No właściwość, do której jest powiązany ten atrybut, to odczyt/zapis. To |
No |
Określa, że właściwość, do której jest powiązany ten atrybut, jest odczyt/zapis i można go modyfikować. To |
Yes |
Określa, że właściwość, do której jest powiązany ten atrybut, jest tylko do odczytu i nie można jej modyfikować w Eksploratorze serwera. To |
Właściwości
IsReadOnly |
Pobiera wartość wskazującą, czy właściwość jest powiązana z tym atrybutem, jest tylko do odczytu. |
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute. (Odziedziczone po Attribute) |
Metody
Equals(Object) |
Wskazuje, czy to wystąpienie oraz określony obiekt są równe. |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
IsDefaultAttribute() |
Określa, czy ten atrybut jest domyślny. |
IsDefaultAttribute() |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po Attribute) |