ReadOnlyAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica se a propriedade a que esse atributo está associado é somente leitura ou leitura/gravação. Essa classe não pode ser herdada.
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
- Herança
- Atributos
Exemplos
O exemplo de código a seguir marca uma propriedade como somente leitura.
[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
O próximo exemplo de código mostra como marcar o valor do ReadOnlyAttribute para MyProperty
. Primeiro, o código obtém um PropertyDescriptorCollection com todas as propriedades do objeto . Em seguida, ele indexa para o PropertyDescriptorCollection para obter MyProperty
. Em seguida, retorna os atributos dessa propriedade e os salva na variável de atributos.
O exemplo apresenta duas maneiras diferentes de verificar o valor do ReadOnlyAttribute. No segundo fragmento de código, o exemplo chama o Equals método . No último fragmento de código, o exemplo usa a IsReadOnly propriedade para marcar o valor.
// 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 você marcou uma classe com o ReadOnlyAttribute, use o exemplo de código a seguir para marcar o valor.
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
Comentários
Os membros marcados com o ReadOnlyAttribute definido como true
ou que não têm um Set
método não podem ser alterados. Os membros que não têm esse atributo ou que estão marcados com o ReadOnlyAttribute definido como false
são de leitura/gravação e podem ser alterados. O padrão é No.
Importante
A PropertyDescriptor classe impõe o ReadOnlyAttribute no ambiente de design e em tempo de execução. Quando você marca uma propriedade com o ReadOnlyAttribute definido como true
, o valor desse atributo é definido como o membro Yesconstante . Para uma propriedade marcada com o ReadOnlyAttribute definido como false
, o valor é No. Portanto, quando você deseja marcar o valor desse atributo em seu código, você deve especificar o atributo como ReadOnlyAttribute.Yes ou ReadOnlyAttribute.No.
Para obter mais informações, consulte Atributos.
Construtores
ReadOnlyAttribute(Boolean) |
Inicializa uma nova instância da classe ReadOnlyAttribute. |
Campos
Default |
Especifica o valor padrão para o ReadOnlyAttribute, que é No (ou seja, a propriedade à qual esse atributo é associado é leitura/gravação). Esse campo |
No |
Especifica que a propriedade a que esse atributo está associado é leitura/gravação e pode ser modificada. Esse campo |
Yes |
Especifica que a propriedade a que esse atributo está associado é somente leitura e não pode ser modificada no Gerenciador de Servidores. Esse campo |
Propriedades
IsReadOnly |
Obtém um valor que indica se a propriedade a que esse atributo está associado é somente leitura. |
TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Métodos
Equals(Object) |
Indica se essa instância e um objeto especificado são iguais. |
GetHashCode() |
Retorna o código hash para a instância. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IsDefaultAttribute() |
Determina se este atributo é o padrão. |
IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |