ReadOnlyAttribute Classe
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
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
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.
Read |
Inizializza una nuova istanza della classe ReadOnlyAttribute. |
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 |
Is |
Ottiene un valore che indica se la proprietà a cui è associato questo attributo è di sola lettura. |
Type |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Equals(Object) |
Indica se questa istanza e un oggetto specificato sono uguali. |
Get |
Restituisce il codice hash per l'istanza. |
Get |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
Is |
Determina se questo attributo è predefinito. |
Is |
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) |
Memberwise |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
To |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
_Attribute. |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
_Attribute. |
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. |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
_Attribute. |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |
Prodotto | Versioni |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: