ReadOnlyAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Azt adja meg, hogy az attribútumhoz kötött tulajdonság írásvédett vagy írási/írási. Ez az osztály nem örökölhető.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód írásvédettként jelöl meg egy tulajdonságot.
[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
A következő példakód bemutatja, hogyan ellenőrizheti a következő érték értékét ReadOnlyAttributeMyProperty. Először is a kód lekéri PropertyDescriptorCollection az objektum összes tulajdonságát. Ezután indexel a PropertyDescriptorCollection lekéréshez MyProperty. Ezután visszaadja a tulajdonság attribútumait, és menti őket az attribútumváltozóba.
A példa két különböző módszert mutat be az érték ellenőrzésére ReadOnlyAttribute. A második kódrészletben a példa meghívja a metódust Equals . Az utolsó kódrészletben a példa a IsReadOnly tulajdonságot használja az érték ellenőrzéséhez.
// 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
Ha az osztályt a ReadOnlyAttributekövetkezővel jelölte meg, az érték ellenőrzéséhez használja az alábbi kód példáját.
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
Megjegyzések
Nem módosíthatók azok a tagok, amelyek a ReadOnlyAttribute megadott true értékre vannak jelölve, vagy amelyek nem rendelkeznek metódussal Set . Azok a tagok, amelyek nem rendelkeznek ezzel az attribútummal, vagy amelyek írási ReadOnlyAttribute /olvasási halmazsal false vannak megjelölve, módosíthatók. Az alapértelmezett érték a No.
Important
Az PropertyDescriptor osztály kikényszeríti a ReadOnlyAttribute tervezőkörnyezetben és futásidőben. Ha olyan tulajdonságot jelöl meg, amelynek értéke ReadOnlyAttribute a következő true, az attribútum értéke az állandó tag Yeslesz. A beállítással ReadOnlyAttributefalsemegjelölt tulajdonság esetében az érték a következő No. Ezért ha ellenőrizni szeretné ennek az attribútumnak az értékét a kódban, meg kell adnia az attribútumot ReadOnlyAttribute.YesReadOnlyAttribute.No.
További információ: Attribútumok.
Konstruktorok
| Name | Description |
|---|---|
| ReadOnlyAttribute(Boolean) |
Inicializálja a ReadOnlyAttribute osztály új példányát. |
Mezők
| Name | Description |
|---|---|
| Default |
Megadja az alapértelmezett értéket a ReadOnlyAttribute( vagyis annak a tulajdonságnak, amelyhez No az attribútum írási/olvasási kötve van). Ez |
| No |
Azt adja meg, hogy az attribútumhoz kötött tulajdonság írási/olvasási, és módosítható. Ez |
| Yes |
Megadja, hogy az attribútumhoz kötött tulajdonság írásvédett, és a kiszolgálókezelőben nem módosítható. Ez |
Tulajdonságok
| Name | Description |
|---|---|
| IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az attribútumhoz kötött tulajdonság írásvédett-e. |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Azt jelzi, hogy ez a példány és egy megadott objektum egyenlő-e. |
| GetHashCode() |
A példány kivonatkódját adja vissza. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Meghatározza, hogy ez az attribútum-e az alapértelmezett érték. |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |