Compartir vía


AttributeProviderAttribute Clase

Definición

Habilita la redirección del atributo. Esta clase no puede heredarse.

public ref class AttributeProviderAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public class AttributeProviderAttribute : Attribute
public class AttributeProviderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type AttributeProviderAttribute = class
    inherit Attribute
type AttributeProviderAttribute = class
    inherit Attribute
Public Class AttributeProviderAttribute
Inherits Attribute
Herencia
AttributeProviderAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar AttributeProviderAttribute para marcar una DataSource propiedad con un tipo específico de IListSource. Para obtener una lista de código completa, vea How to: Apply Attributes in Windows Forms Controls.

[Category("Data")]
[Description("Indicates the source of data for the control.")]
[RefreshProperties(RefreshProperties.Repaint)]
[AttributeProvider(typeof(IListSource))]
public object DataSource
{
    get
    {
        return this.dataGridView1.DataSource;
    }

    set
    {
        this.dataGridView1.DataSource = value;
    }
}
<Category("Data"), _
Description("Indicates the source of data for the control."), _
RefreshProperties(RefreshProperties.Repaint), _
AttributeProvider(GetType(IListSource))> _
Public Property DataSource() As Object
    Get
        Return Me.dataGridView1.DataSource
    End Get

    Set(ByVal value As Object)
        Me.dataGridView1.DataSource = value
    End Set
End Property

Comentarios

Hay algunos casos en el modelo de objetos de .NET Framework en el que una propiedad se escribe intencionadamente para ser imprecisa. Por ejemplo, la DataGridView.DataSource propiedad se escribe como object. El motivo de esto es que esta propiedad puede aceptar varios tipos de entrada. Desafortunadamente, esto no proporciona ningún lugar común para agregar metadatos para describir las características de la propiedad. Cada DataSource propiedad de .NET Framework debe tener metadatos idénticos para convertidores de tipos, editores de tipos de interfaz de usuario y otros servicios que requieren metadatos. Las AttributeProviderAttribute soluciones a esta situación.

Una vez que este atributo se coloca en una propiedad, las reglas para obtener atributos para la colección del MemberDescriptor.Attributes descriptor de propiedad difieren. Normalmente, el descriptor de propiedad recopila atributos locales y, a continuación, los combina con atributos del tipo de propiedad. En este caso, los atributos se toman del tipo devuelto de AttributeProviderAttribute, no del tipo de propiedad real. Este atributo se usa en DataGridView.DataSource para apuntar el DataGridView.DataSource tipo específico del objeto a IListSourcey los metadatos adecuados se colocan en IListSource para habilitar el enlace de datos. Al hacerlo, las entidades externas pueden agregar fácilmente metadatos a todos los orígenes de datos.

Los atributos obtenidos de un tipo declarado en AttributeProviderAttribute tienen una prioridad entre los atributos del tipo de la propiedad y los atributos de la propiedad . En la lista siguiente, en orden de prioridad, se muestra el conjunto completo de atributos combinados disponibles:

  • Atributos de propiedad

  • Atributos del proveedor de atributos

  • Atributos de tipo de propiedad

Constructores

AttributeProviderAttribute(String)

Inicializa una nueva instancia de la clase AttributeProviderAttribute con el nombre de tipo especificado.

AttributeProviderAttribute(String, String)

Inicializa una nueva instancia de la clase AttributeProviderAttribute con el nombre de tipo y el nombre de propiedad especificados.

AttributeProviderAttribute(Type)

Inicializa una nueva instancia de la clase AttributeProviderAttribute con el tipo especificado.

Propiedades

PropertyName

Obtiene el nombre de la propiedad cuyos atributos se van a recuperar.

TypeId

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

(Heredado de Attribute)
TypeName

Obtiene el nombre de tipo calificado con el nombre de ensamblado que se ha pasado al constructor.

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(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)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_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)
_Attribute.GetTypeInfoCount(UInt32)

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

(Heredado de Attribute)
_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)

Se aplica a

Consulte también