ReadOnlyAttribute Třída

Definice

Určuje, jestli je vlastnost, na které je tento atribut vázán, jen pro čtení nebo pro čtení/zápis. Tato třída se nemůže dědit.

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
Dědičnost
ReadOnlyAttribute
Atributy

Příklady

Následující příklad kódu označí vlastnost jen pro čtení.

   [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

Další příklad kódu ukazuje, jak zkontrolovat hodnotu ReadOnlyAttribute pro MyProperty. Kód nejprve získá se PropertyDescriptorCollection všemi vlastnostmi objektu . Potom se indexuje do objektu , PropertyDescriptorCollection aby získal MyProperty. Potom vrátí atributy pro tuto vlastnost a uloží je do proměnné attributes.

Příklad představuje dva různé způsoby kontroly hodnoty ReadOnlyAttribute. V druhém fragmentu kódu volá příklad metodu Equals . V posledním fragmentu kódu používá příklad IsReadOnly ke kontrole hodnoty vlastnost .

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

Pokud jste označili třídu pomocí ReadOnlyAttribute, zkontrolujte hodnotu pomocí následujícího příkladu kódu.

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

Poznámky

Členy, které jsou označené ReadOnlyAttribute nastavenou na true nebo které nemají metodu Set , nelze změnit. Členové, kteří nemají tento atribut nebo jsou označeni nastavena ReadOnlyAttribute na false , jsou čtení/zápis a mohou být změněny. Výchozí formát je No.

Důležité

Třída PropertyDescriptor vynucuje ReadOnlyAttribute v návrhovém prostředí a za běhu. Když označíte vlastnost nastavenou ReadOnlyAttribute na true, hodnota tohoto atributu se nastaví na člen Yeskonstanty . Pro vlastnost označenou nastavenou ReadOnlyAttribute na falsehodnotu je Nohodnota . Proto pokud chcete zkontrolovat hodnotu tohoto atributu v kódu, musíte zadat atribut jako ReadOnlyAttribute.Yes nebo ReadOnlyAttribute.No.

Další informace najdete v tématu Atributy.

Konstruktory

ReadOnlyAttribute(Boolean)

Inicializuje novou instanci ReadOnlyAttribute třídy .

Pole

Default

Určuje výchozí hodnotu pro ReadOnlyAttribute, což je No (to znamená, že vlastnost, se kterou je tento atribut vázán, je pro čtení a zápis). Toto static pole je jen pro čtení.

No

Určuje, že vlastnost, na kterou je tento atribut vázán, je čtení/zápis a je možné ji upravit. Toto static pole je jen pro čtení.

Yes

Určuje, že vlastnost, na kterou je tento atribut vázán, je jen pro čtení a nelze ji upravit v průzkumníku serveru. Toto static pole je jen pro čtení.

Vlastnosti

IsReadOnly

Získá hodnotu označující, zda vlastnost tento atribut je vázán je jen pro čtení.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Udává, zda je tato instance totožná se zadaným objektem.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Určuje, jestli je tento atribut výchozí.

IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také