Sdílet prostřednictvím


ReadOnlyAttribute Třída

Definice

Určuje, zda je vlastnost, ke 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čuje 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. Nejprve kód získá se PropertyDescriptorCollection všemi vlastnostmi objektu. Dále se indexuje do objektu , PropertyDescriptorCollection aby získal MyProperty. Potom vrátí atributy pro tuto vlastnost a uloží je do proměnné atributů.

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 vlastnost ke kontrole hodnoty.

// 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čeny ReadOnlyAttribute nastavena true na nebo které nemají metodu Set , nelze změnit. Členové, kteří nemají tento atribut nebo jsou označeni nastavenou ReadOnlyAttribute na false , jsou pro čtení a zápis a mohou být změněny. Výchozí formát je No.

Důležité

Třída PropertyDescriptor vynucuje v ReadOnlyAttribute návrhovém prostředí a za běhu. Když označíte vlastnost nastavenou ReadOnlyAttribute na true, hodnota tohoto atributu se nastaví na konstantní člen Yes. 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, na kterou je tento atribut vázán, je čtení/zápis). Toto static pole je jen pro čtení.

No

Určuje, že vlastnost, na kterou je tento atribut vázán, je pro čtení/zápis a lze 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, na kterou je tento atribut 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()

Získá aktuální Type instanci.

(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é