Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase ReadOnlyAttribute

 

Especifica si la propiedad está enlazado este atributo es de sólo lectura o de lectura y escritura. Esta clase no se puede heredar

Espacio de nombres:   System.ComponentModel
Ensamblado:  System (en System.dll)

System.Object
  System.Attribute
    System.ComponentModel.ReadOnlyAttribute

[AttributeUsageAttribute(AttributeTargets.All)]
public sealed class ReadOnlyAttribute : Attribute

NombreDescripción
System_CAPS_pubmethodReadOnlyAttribute(Boolean)

Inicializa una nueva instancia de la clase ReadOnlyAttribute.

NombreDescripción
System_CAPS_pubpropertyIsReadOnly

Obtiene un valor que indica si la propiedad que está enlazado este atributo es de sólo lectura.

System_CAPS_pubpropertyTypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.(Heredado de Attribute).

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Indica si esta instancia y un objeto especificado son iguales.(Invalida Attribute.Equals(Object)).

System_CAPS_pubmethodGetHashCode()

Devuelve el código hash de esta instancia.(Invalida Attribute.GetHashCode()).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIsDefaultAttribute()

Determina si este atributo es el valor predeterminado.(Invalida Attribute.IsDefaultAttribute()).

System_CAPS_pubmethodMatch(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual al objeto especificado. (Heredado de Attribute).

System_CAPS_pubmethodToString()

Retorna una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticDefault

Especifica el valor predeterminado para el ReadOnlyAttribute, que es No (es decir, la propiedad que está enlazado este atributo es lectura/escritura). Esto static campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticNo

Especifica que la propiedad que está enlazado este atributo es de lectura y escritura y se puede modificar. Esto static campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticYes

Especifica que la propiedad que está enlazado este atributo es de sólo lectura y no puede modificarse en el Explorador de servidores. Esto static campo es de solo lectura.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información del tipo de un objeto, que puede utilizarse para obtener la información del tipo de una interfaz. (Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de tipo de información que suministra un objeto (0 ó 1)

(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.(Heredado de Attribute).

Los miembros marcados con el ReadOnlyAttribute establecido en true o que no tienen un Set no se puede cambiar el método. Los miembros que no tienen este atributo o que están marcados con el ReadOnlyAttribute establecido en false son de lectura y escritura y se pueden cambiar. De manera predeterminada, es No.

System_CAPS_importantImportante

La PropertyDescriptor clase exige el ReadOnlyAttribute en el entorno de diseño y en tiempo de ejecución. Al marcar una propiedad con el ReadOnlyAttribute establecido en true, el valor de este atributo se establece en el miembro constante Yes. Para una propiedad marcada con el ReadOnlyAttribute establecido en false, el valor es 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.

Para obtener más información, consulta Extender metadatos mediante atributos.

En el ejemplo de código siguiente se marca una propiedad como de sólo lectura.

[ReadOnly(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
}

En el ejemplo de código siguiente se muestra cómo comprobar el valor de la ReadOnlyAttribute para MyProperty. En primer lugar, el código obtiene una PropertyDescriptorCollection con todas las propiedades del objeto. A continuación, inserta un índice en la PropertyDescriptorCollection para obtener MyProperty. A continuación, devuelve los atributos de esta propiedad y los guarda en la variable de atributos.

En el ejemplo se muestra dos formas diferentes de comprobar el valor de la ReadOnlyAttribute. En el segundo fragmento de código, se llama el Equals método. En el último fragmento de código, se utiliza el IsReadOnly propiedad para comprobar el 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[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.
}

Si se marcó una clase con el ReadOnlyAttribute, utilice el siguiente ejemplo de código para comprobar el valor.

AttributeCollection attributes = 
   TypeDescriptor.GetAttributes(MyProperty);
if(attributes[typeof(ReadOnlyAttribute)].Equals(ReadOnlyAttribute.Yes)) {
   // Insert code here.
}

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 3.0
Windows Phone Silverlight
Disponible desde 7.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: