ReadOnlyAttribute ReadOnlyAttribute ReadOnlyAttribute ReadOnlyAttribute Class

Definition

Especifica si la propiedad a la que está enlazado este atributo es de sólo lectura o de lectura y escritura. Specifies whether the property this attribute is bound to is read-only or read/write. Esta clase no se puede heredar This class cannot be inherited

public ref class ReadOnlyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute
type ReadOnlyAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyAttribute
Inherits Attribute
Inheritance
ReadOnlyAttributeReadOnlyAttributeReadOnlyAttributeReadOnlyAttribute
Attributes

Examples

En el ejemplo de código siguiente se marca una propiedad como de solo lectura.The following code example marks a property as read-only.

   [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

El ejemplo de código siguiente muestra cómo comprobar el valor de la ReadOnlyAttribute para MyProperty.The next code example shows how to check the value of the ReadOnlyAttribute for MyProperty. En primer lugar, el código obtiene una PropertyDescriptorCollection con todas las propiedades del objeto.First, the code gets a PropertyDescriptorCollection with all the properties for the object. A continuación, indiza en la PropertyDescriptorCollection obtener MyProperty.Next, it indexes into the PropertyDescriptorCollection to get MyProperty. A continuación, devuelve los atributos de esta propiedad y los guarda en la variable de atributos.Then it returns the attributes for this property and saves them in the attributes variable.

En el ejemplo se muestra dos formas diferentes de comprobar el valor de la ReadOnlyAttribute.The example presents two different ways of checking the value of the ReadOnlyAttribute. En el segundo fragmento de código, se llama el Equals método.In the second code fragment, the example calls the Equals method. En el último fragmento de código, el ejemplo se usa el IsReadOnly propiedad para comprobar el valor.In the last code fragment, the example uses the IsReadOnly property to check the value.

// 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 

Si marca una clase con el ReadOnlyAttribute, utilice el siguiente ejemplo de código para comprobar el valor.If you marked a class with the ReadOnlyAttribute, use the following code example to check the value.

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 

Remarks

Los miembros marcados con el ReadOnlyAttribute establecido en true o que no tienen un Set método no se puede cambiar.Members that are marked with the ReadOnlyAttribute set to true or that do not have a Set method cannot be changed. Los miembros que no tienen este atributo o que están marcados con el ReadOnlyAttribute establecido en false son de lectura y escritura, y puede cambiarse.Members that do not have this attribute or that are marked with the ReadOnlyAttribute set to false are read/write, and they can be changed. El valor predeterminado es No.The default is No.

Importante

El PropertyDescriptor clase exige el ReadOnlyAttribute en el entorno de diseño y en tiempo de ejecución.The PropertyDescriptor class enforces the ReadOnlyAttribute in the design environment and at run time. Cuando se marca una propiedad con el ReadOnlyAttribute establecido en true, el valor de este atributo se establece en el miembro constante Yes.When you mark a property with the ReadOnlyAttribute set to true, the value of this attribute is set to the constant member Yes. Para una propiedad marcada con el ReadOnlyAttribute establecido en false, el valor es No.For a property marked with the ReadOnlyAttribute set to false, the value is No. Por lo tanto, cuando desee comprobar el valor de este atributo en el código, debe especificar el atributo como ReadOnlyAttribute.Yes o ReadOnlyAttribute.No.Therefore, when you want to check the value of this attribute in your code, you must specify the attribute as ReadOnlyAttribute.Yes or ReadOnlyAttribute.No.

Para obtener más información, consulte Attributes (Atributos).For more information, see Attributes.

Constructors

ReadOnlyAttribute(Boolean) ReadOnlyAttribute(Boolean) ReadOnlyAttribute(Boolean) ReadOnlyAttribute(Boolean)

Inicializa una nueva instancia de la clase ReadOnlyAttribute. Initializes a new instance of the ReadOnlyAttribute class.

Fields

Default Default Default Default

Especifica el valor predeterminado de ReadOnlyAttribute, que es No (es decir, la propiedad a la que está enlazado este atributo es de lectura y escritura). Specifies the default value for the ReadOnlyAttribute, which is No (that is, the property this attribute is bound to is read/write). Este campo static es de solo lectura. This static field is read-only.

No No No No

Especifica que la propiedad a la que está enlazado este atributo es de lectura y escritura y se puede modificar. Specifies that the property this attribute is bound to is read/write and can be modified. Este campo static es de solo lectura. This static field is read-only.

Yes Yes Yes Yes

Especifica que la propiedad a la que está enlazado este atributo es de sólo lectura y no se puede modificar en el explorador de servidores. Specifies that the property this attribute is bound to is read-only and cannot be modified in the server explorer. Este campo static es de solo lectura. This static field is read-only.

Properties

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Obtiene un valor que indica si la propiedad a la que está enlazado este atributo es de sólo lectura. Gets a value indicating whether the property this attribute is bound to is read-only.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Indica si esta instancia y un objeto especificado son iguales. Indicates whether this instance and a specified object are equal.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash de esta instancia. Returns the hash code for this instance.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Determina si este atributo es el valor predeterminado. Determines if this attribute is the default.

Match(Object) Match(Object) Match(Object) Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto. Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See Also