ReadOnlyAttribute Klas

Definitie

Hiermee geeft u op of de eigenschap waaraan dit kenmerk is gebonden, alleen-lezen of lezen/schrijven is. Deze klasse kan niet worden overgenomen.

public ref class ReadOnlyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type ReadOnlyAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyAttribute
Inherits Attribute
Overname
ReadOnlyAttribute
Kenmerken

Voorbeelden

In het volgende codevoorbeeld wordt een eigenschap gemarkeerd als alleen-lezen.

   [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

In het volgende codevoorbeeld ziet u hoe u de waarde van de ReadOnlyAttribute for MyPropertykunt controleren. Eerst krijgt de code een PropertyDescriptorCollection met alle eigenschappen voor het object. Vervolgens wordt het geïndexeert in de PropertyDescriptorCollection om te krijgen MyProperty. Vervolgens worden de kenmerken voor deze eigenschap geretourneerd en opgeslagen in de kenmerkvariabele.

In het voorbeeld ziet u twee verschillende manieren om de waarde van de ReadOnlyAttribute. In het tweede codefragment roept het voorbeeld de methode aan Equals . In het laatste codefragment gebruikt het voorbeeld de IsReadOnly eigenschap om de waarde te controleren.

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

Als u een klasse met de ReadOnlyAttributeklasse hebt gemarkeerd, gebruikt u het volgende codevoorbeeld om de waarde te controleren.

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

Opmerkingen

Leden die zijn gemarkeerd met de ReadOnlyAttribute set of true die geen methode hebben Set , kunnen niet worden gewijzigd. Leden die dit kenmerk niet hebben of die zijn gemarkeerd met de ReadOnlyAttribute set waarop false ze zijn ingesteld, zijn gelezen/schrijven en kunnen worden gewijzigd. De standaardwaarde is No.

Important

De PropertyDescriptor klasse dwingt de ReadOnlyAttribute in de ontwerpomgeving en tijdens runtime af. Wanneer u een eigenschap markeert waarop de ReadOnlyAttribute set is ingesteld true, wordt de waarde van dit kenmerk ingesteld op het constante lid Yes. Voor een eigenschap die is gemarkeerd met de ReadOnlyAttribute set op false, is Node waarde . Als u daarom de waarde van dit kenmerk in uw code wilt controleren, moet u het kenmerk opgeven als ReadOnlyAttribute.Yes of ReadOnlyAttribute.No.

Zie Kenmerken voor meer informatie.

Constructors

Name Description
ReadOnlyAttribute(Boolean)

Initialiseert een nieuw exemplaar van de ReadOnlyAttribute klasse.

Velden

Name Description
Default

Hiermee geeft u de standaardwaarde voor de ReadOnlyAttribute, dat wil gezegd ( dat wil No gezegd, de eigenschap waaraan dit kenmerk is gebonden is lezen/schrijven). Dit static veld heeft het kenmerk Alleen-lezen.

No

Hiermee geeft u op dat de eigenschap waaraan dit kenmerk is gebonden, lezen/schrijven is en kan worden gewijzigd. Dit static veld heeft het kenmerk Alleen-lezen.

Yes

Hiermee geeft u op dat de eigenschap waaraan dit kenmerk is gebonden alleen-lezen is en niet kan worden gewijzigd in de serververkenner. Dit static veld heeft het kenmerk Alleen-lezen.

Eigenschappen

Name Description
IsReadOnly

Hiermee wordt een waarde opgehaald die aangeeft of de eigenschap waaraan dit kenmerk is gebonden, alleen-lezen is.

TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)

Methoden

Name Description
Equals(Object)

Geeft aan of dit exemplaar en een opgegeven object gelijk zijn.

GetHashCode()

Retourneert de hash-code voor dit exemplaar.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Bepaalt of dit kenmerk de standaardwaarde is.

Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op

Zie ook