ReadOnlyAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica se la proprietà a cui è associato questo attributo è di sola lettura o di lettura/scrittura. La classe non può essere ereditata.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene contrassegnata una proprietà come sola lettura.
[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
Nell'esempio di codice successivo viene illustrato come controllare il valore dell'oggetto ReadOnlyAttribute per MyProperty
. Prima di tutto, il codice ottiene un PropertyDescriptorCollection con tutte le proprietà per l'oggetto. Successivamente, indicizza nell'oggetto PropertyDescriptorCollection per ottenere MyProperty
. Restituisce quindi gli attributi per questa proprietà e li salva nella variabile attributi.
L'esempio presenta due modi diversi per controllare il valore di ReadOnlyAttribute. Nel secondo frammento di codice, nell'esempio viene chiamato il Equals metodo . Nell'ultimo frammento di codice, nell'esempio viene usata la IsReadOnly proprietà per controllare il valore.
// 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
Se è stata contrassegnata una classe con , usare l'esempio ReadOnlyAttributedi codice seguente per controllare il valore.
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
Commenti
I membri contrassegnati con il ReadOnlyAttribute set su true
o che non hanno un Set
metodo non possono essere modificati. I membri che non dispongono di questo attributo o contrassegnati con il ReadOnlyAttribute set su false
sono di lettura/scrittura e possono essere modificati. Il valore predefinito è No.
Importante
La PropertyDescriptor classe applica l'oggetto ReadOnlyAttribute nell'ambiente di progettazione e in fase di esecuzione. Quando si contrassegna una proprietà con l'oggetto ReadOnlyAttribute impostato su true
, il valore di questo attributo è impostato sul membro Yescostante . Per una proprietà contrassegnata con l'oggetto ReadOnlyAttribute impostato su false
, il valore è No. Pertanto, quando si vuole controllare il valore di questo attributo nel codice, è necessario specificare l'attributo come ReadOnlyAttribute.Yes o ReadOnlyAttribute.No.
Per altre informazioni, vedere Attributi.
Costruttori
ReadOnlyAttribute(Boolean) |
Inizializza una nuova istanza della classe ReadOnlyAttribute. |
Campi
Default |
Specifica il valore predefinito per l'attributo ReadOnlyAttribute, che è No. Questo significa che la proprietà a cui è associato questo attributo è di lettura/scrittura. Questo campo |
No |
Specifica che la proprietà a cui è associato questo attributo è di lettura/scrittura e può essere modificata. Questo campo |
Yes |
Consente di specificare che la proprietà a cui è associato questo attributo è di sola lettura e non può essere modificata in Esplora server. Questo campo |
Proprietà
IsReadOnly |
Ottiene un valore che indica se la proprietà a cui è associato questo attributo è di sola lettura. |
TypeId |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Metodi
Equals(Object) |
Indica se questa istanza e un oggetto specificato sono uguali. |
GetHashCode() |
Restituisce il codice hash per l'istanza. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IsDefaultAttribute() |
Determina se questo attributo è predefinito. |
IsDefaultAttribute() |
In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
Match(Object) |
Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |