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 MergablePropertyAttribute

 

Publicado: octubre de 2016

Especifica que esta propiedad se puede combinar con propiedades pertenecientes a otros objetos en una ventana de propiedades.

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

System.Object
  System.Attribute
    System.ComponentModel.MergablePropertyAttribute

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

NombreDescripción
System_CAPS_pubmethodMergablePropertyAttribute(Boolean)

Inicializa una nueva instancia de la clase MergablePropertyAttribute.

NombreDescripción
System_CAPS_pubpropertyAllowMerge

Obtiene un valor que indica si esta propiedad se puede combinar con propiedades pertenecientes a otros objetos en una ventana de propiedades.

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 a un objeto especificado.(Heredado de Attribute).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa el objeto actual.(Heredado de Object).

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticDefault

Especifica el valor predeterminado, que es Yes, que es una propiedad que se puede combinar con propiedades pertenecientes a otros objetos en una ventana de propiedades. Esto static campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticNo

Especifica que una propiedad no puede combinarse con otras propiedades pertenecientes a otros objetos en una ventana de propiedades. Esto static campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticYes

Especifica que una propiedad puede combinarse con otras propiedades pertenecientes a otros objetos en una ventana de propiedades. 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 de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona 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).

Las propiedades marcadas con el MergablePropertyAttribute establecido en true se pueden combinar con propiedades pertenecientes a otros objetos en una ventana de propiedades. Las propiedades marcadas con el MergablePropertyAttribute establecido en false deben mostrarse por separado. De manera predeterminada, es true.

System_CAPS_noteNota

Al marcar una propiedad con el MergablePropertyAttribute establecido en true, el valor de este atributo se establece en el miembro constante Yes. Para una propiedad marcada con el MergablePropertyAttribute propiedad establecida 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 MergablePropertyAttribute.Yes o MergablePropertyAttribute.No.

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

En el ejemplo siguiente se marca una propiedad como combinable.

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

En el ejemplo siguiente se muestra cómo comprobar el valor de la MergablePropertyAttribute 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 MergablePropertyAttribute. En el segundo fragmento de código, se llama el Equals método con un static valor. En el último fragmento de código, se utiliza el AllowMerge propiedad para comprobar el valor.

// Gets the attributes for the property.
 AttributeCollection attributes = 
    TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;

 // Checks to see if the value of the MergablePropertyAttribute is Yes.
 if(attributes[typeof(MergablePropertyAttribute)].Equals(MergablePropertyAttribute.Yes)) {
    // Insert code here.
 }

 // This is another way to see if the property is bindable.
 MergablePropertyAttribute myAttribute = 
    (MergablePropertyAttribute)attributes[typeof(MergablePropertyAttribute)];
 if(myAttribute.AllowMerge) {
    // Insert code here.
 }

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

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

.NET Framework
Disponible desde 1.1

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: