TypeDescriptor.GetProperties TypeDescriptor.GetProperties TypeDescriptor.GetProperties TypeDescriptor.GetProperties Method

Definición

Devuelve la colección de propiedades que hay en un componente o tipo.Returns the collection of properties on a component or type.

Sobrecargas

GetProperties(Object, Attribute[], Boolean) GetProperties(Object, Attribute[], Boolean) GetProperties(Object, Attribute[], Boolean) GetProperties(Object, Attribute[], Boolean)

Devuelve la colección de propiedades para un componente especificado utilizando una matriz de atributos determinada que sirve como filtro y un descriptor de tipos personalizado.Returns the collection of properties for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

GetProperties(Object, Boolean) GetProperties(Object, Boolean) GetProperties(Object, Boolean) GetProperties(Object, Boolean)

Devuelve la colección de propiedades para un componente especificado utilizando el descriptor de tipos predeterminado.Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type, Attribute[]) GetProperties(Type, Attribute[]) GetProperties(Type, Attribute[]) GetProperties(Type, Attribute[])

Devuelve la colección de propiedades para un tipo de componente especificado utilizando una matriz de atributos determinada que sirve como filtro.Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProperties(Type) GetProperties(Type) GetProperties(Type) GetProperties(Type)

Devuelve la colección de propiedades para un tipo especificado de componente.Returns the collection of properties for a specified type of component.

GetProperties(Object) GetProperties(Object) GetProperties(Object) GetProperties(Object)

Devuelve la colección de propiedades para un componente especificado.Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[]) GetProperties(Object, Attribute[]) GetProperties(Object, Attribute[]) GetProperties(Object, Attribute[])

Devuelve la colección de propiedades para un componente especificado utilizando una matriz de atributos determinada que sirve como filtro.Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean) GetProperties(Object, Attribute[], Boolean) GetProperties(Object, Attribute[], Boolean) GetProperties(Object, Attribute[], Boolean)

Devuelve la colección de propiedades para un componente especificado utilizando una matriz de atributos determinada que sirve como filtro y un descriptor de tipos personalizado.Returns the collection of properties for a specified component using a specified array of attributes as a filter and using a custom type descriptor.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, cli::array <Attribute ^> ^ attributes, bool noCustomTypeDesc);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, Attribute[] attributes, bool noCustomTypeDesc);
static member GetProperties : obj * Attribute[] * bool -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object, attributes As Attribute(), noCustomTypeDesc As Boolean) As PropertyDescriptorCollection

Parámetros

component
Object Object Object Object

Componente del que se van a obtener las propiedades.A component to get the properties for.

attributes
Attribute[]

Matriz de tipo Attribute que se va a utilizar como filtro.An array of type Attribute to use as a filter.

noCustomTypeDesc
Boolean Boolean Boolean Boolean

Es true para tener en cuenta la información de descripción de tipos personalizada; de lo contrario, es false.true to consider custom type description information; otherwise, false.

Devoluciones

PropertyDescriptorCollection con los eventos que coinciden con los atributos especificados del componente especificado.A PropertyDescriptorCollection with the events that match the specified attributes for the specified component.

Excepciones

component es un objeto remoto entre procesos.component is a cross-process remoted object.

Comentarios

Las propiedades de un component puede diferir de las propiedades de una clase, porque el sitio puede agregar o quitar propiedades si el component está situado.The properties for a component can differ from the properties of a class, because the site can add or remove properties if the component is sited.

El attributes matriz de parámetros se utiliza para filtrar la matriz.The attributes parameter array is used to filter the array. El filtrado se define mediante las siguientes reglas:Filtering is defined by the following rules:

  • Si no tiene una propiedad de un Attribute de la misma clase, la propiedad no se incluye en la matriz devuelta.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Si el atributo es una instancia de la Attribute (clase), la propiedad debe ser una coincidencia exacta o no se incluye en la matriz devuelta.If the attribute is an instance of the Attribute class, the property must be an exact match or it is not included in the returned array.

  • Si un Attribute se especifica la instancia y es la propiedad predeterminada, se incluye en la matriz devuelta incluso si no hay ninguna instancia de la Attribute en la propiedad.If an Attribute instance is specified and it is the default property, it is included in the returned array even if there is no instance of the Attribute in the property.

  • Si attributes tiene un atributo de forma predeterminada, el GetProperties método coincide con el caso cuando la propiedad no tiene aplicado el atributo.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Si el component parámetro es null, se devuelve una colección vacía.If the component parameter is null, an empty collection is returned.

No se garantiza el orden de la colección devuelta para ser idénticos entre las llamadas, por lo que siempre el pedido antes de su uso.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Consulte también:

GetProperties(Object, Boolean) GetProperties(Object, Boolean) GetProperties(Object, Boolean) GetProperties(Object, Boolean)

Devuelve la colección de propiedades para un componente especificado utilizando el descriptor de tipos predeterminado.Returns the collection of properties for a specified component using the default type descriptor.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, bool noCustomTypeDesc);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, bool noCustomTypeDesc);
static member GetProperties : obj * bool -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object, noCustomTypeDesc As Boolean) As PropertyDescriptorCollection

Parámetros

component
Object Object Object Object

Componente del que se van a obtener las propiedades.A component to get the properties for.

noCustomTypeDesc
Boolean Boolean Boolean Boolean

Es true para no tener en cuenta la información de descripción de tipos personalizada; de lo contrario, es false.true to not consider custom type description information; otherwise, false.

Devoluciones

Excepciones

component es un objeto remoto entre procesos.component is a cross-process remoted object.

Comentarios

Las propiedades de la component parámetro puede diferir de las propiedades de una clase, porque el sitio puede agregar o quitar propiedades si el component se basa en un parámetro.The properties for the component parameter can differ from the properties of a class, because the site can add or remove properties if the component parameter is sited.

Si component es null, se devuelve una colección vacía.If component is null, an empty collection is returned.

No se garantiza el orden de la colección devuelta para ser idénticos entre las llamadas, por lo que siempre el pedido antes de su uso.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Consulte también:

GetProperties(Type, Attribute[]) GetProperties(Type, Attribute[]) GetProperties(Type, Attribute[]) GetProperties(Type, Attribute[])

Devuelve la colección de propiedades para un tipo de componente especificado utilizando una matriz de atributos determinada que sirve como filtro.Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(Type ^ componentType, cli::array <Attribute ^> ^ attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType, Attribute[] attributes);
static member GetProperties : Type * Attribute[] -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (componentType As Type, attributes As Attribute()) As PropertyDescriptorCollection

Parámetros

componentType
Type Type Type Type

Type del componente de destino.The Type of the target component.

attributes
Attribute[]

Matriz de tipo Attribute que se va a utilizar como filtro.An array of type Attribute to use as a filter.

Devoluciones

PropertyDescriptorCollection con las propiedades que coinciden con los atributos especificados de este tipo de componente.A PropertyDescriptorCollection with the properties that match the specified attributes for this type of component.

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar el GetProperties método.The following code example demonstrates how to implement the GetProperties method. Este ejemplo de código forma parte de un ejemplo más extenso proporcionado para el PropertyTab clase.This code example is part of a larger example provided for the PropertyTab class.

// Returns the properties of the specified component extended with
// a CategoryAttribute reflecting the name of the type of the property.
[ReflectionPermission(SecurityAction::Demand, Flags=ReflectionPermissionFlag::MemberAccess)]
virtual System::ComponentModel::PropertyDescriptorCollection^ GetProperties( Object^ component, array<System::Attribute^>^attributes ) override
{
   PropertyDescriptorCollection^ props;
   if ( attributes == nullptr )
            props = TypeDescriptor::GetProperties( component );
   else
            props = TypeDescriptor::GetProperties( component, attributes );

   array<PropertyDescriptor^>^propArray = gcnew array<PropertyDescriptor^>(props->Count);
   for ( int i = 0; i < props->Count; i++ )
   {
      // Create a new PropertyDescriptor from the old one, with
      // a CategoryAttribute matching the name of the type.
      array<Attribute^>^temp0 = {gcnew CategoryAttribute( props[ i ]->PropertyType->Name )};
      propArray[ i ] = TypeDescriptor::CreateProperty( props[ i ]->ComponentType, props[ i ], temp0 );

   }
   return gcnew PropertyDescriptorCollection( propArray );
}

virtual System::ComponentModel::PropertyDescriptorCollection^ GetProperties( Object^ component ) override
{
   return this->GetProperties( component, nullptr );
}
// Returns the properties of the specified component extended with 
// a CategoryAttribute reflecting the name of the type of the property.
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, System.Attribute[] attributes)
{
    PropertyDescriptorCollection props;
    if( attributes == null )
        props = TypeDescriptor.GetProperties(component);    
    else
        props = TypeDescriptor.GetProperties(component, attributes);    
    
    PropertyDescriptor[] propArray = new PropertyDescriptor[props.Count];            
    for(int i=0; i<props.Count; i++)           
    {                
        // Create a new PropertyDescriptor from the old one, with 
        // a CategoryAttribute matching the name of the type.
        propArray[i] = TypeDescriptor.CreateProperty(props[i].ComponentType, props[i], new CategoryAttribute(props[i].PropertyType.Name));
    }
    return new PropertyDescriptorCollection( propArray );
}

public override System.ComponentModel.PropertyDescriptorCollection GetProperties(object component)
{                     
    return this.GetProperties(component, null);
}
' Returns the properties of the specified component extended with 
' a CategoryAttribute reflecting the name of the type of the property.
Public Overloads Overrides Function GetProperties(ByVal component As Object, ByVal attributes() As System.Attribute) As System.ComponentModel.PropertyDescriptorCollection
    Dim props As PropertyDescriptorCollection
    If attributes Is Nothing Then
        props = TypeDescriptor.GetProperties(component)
    Else
        props = TypeDescriptor.GetProperties(component, attributes)
    End If
    Dim propArray(props.Count - 1) As PropertyDescriptor
    Dim i As Integer
    For i = 0 To props.Count - 1
        ' Create a new PropertyDescriptor from the old one, with 
        ' a CategoryAttribute matching the name of the type.
        propArray(i) = TypeDescriptor.CreateProperty(props(i).ComponentType, props(i), New CategoryAttribute(props(i).PropertyType.Name))
    Next i
    Return New PropertyDescriptorCollection(propArray)
End Function

Public Overloads Overrides Function GetProperties(ByVal component As Object) As System.ComponentModel.PropertyDescriptorCollection
    Return Me.GetProperties(component, Nothing)
End Function

Comentarios

Llame a esta versión de este método solo cuando no tiene una instancia del objeto.Call this version of this method only when you do not have an instance of the object.

El attributes matriz de parámetros se utiliza para filtrar la matriz.The attributes parameter array is used to filter the array. El filtrado se define mediante las siguientes reglas:Filtering is defined by the following rules:

  • Si no tiene una propiedad de un Attribute de la misma clase, la propiedad no se incluye en la matriz devuelta.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Si el atributo es una instancia de la Attribute (clase), la propiedad debe ser una coincidencia exacta o no se incluye en la matriz devuelta.If the attribute is an instance of the Attribute class, the property must be an exact match or it is not included in the returned array.

  • Si un Attribute se especifica la instancia y es la propiedad predeterminada, se incluye en la matriz devuelta incluso si no hay ninguna instancia de la Attribute en la propiedad.If an Attribute instance is specified and it is the default property, it is included in the returned array even if there is no instance of the Attribute in the property.

  • Si attributes tiene un atributo de forma predeterminada, el GetProperties método coincide con el caso cuando la propiedad no tiene aplicado el atributo.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Si el componentType parámetro es null, se devuelve una colección vacía.If the componentType parameter is null, an empty collection is returned.

No se garantiza el orden de la colección devuelta para ser idénticos entre las llamadas, por lo que siempre el pedido antes de su uso.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Consulte también:

GetProperties(Type) GetProperties(Type) GetProperties(Type) GetProperties(Type)

Devuelve la colección de propiedades para un tipo especificado de componente.Returns the collection of properties for a specified type of component.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(Type ^ componentType);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType);
static member GetProperties : Type -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (componentType As Type) As PropertyDescriptorCollection

Parámetros

componentType
Type Type Type Type

Type que representa el componente para el que se van a obtener propiedades.A Type that represents the component to get properties for.

Devoluciones

PropertyDescriptorCollection con las propiedades de un tipo de componente especificado.A PropertyDescriptorCollection with the properties for a specified type of component.

Comentarios

Llame a esta versión de este método solo cuando no tiene una instancia del objeto.Call this version of this method only when you do not have an instance of the object.

Si el componentType parámetro es null, se devuelve una colección vacía.If the componentType parameter is null, an empty collection is returned.

No se garantiza el orden de la colección devuelta para ser idénticos entre las llamadas, por lo que siempre el pedido antes de su uso.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Consulte también:

GetProperties(Object) GetProperties(Object) GetProperties(Object) GetProperties(Object)

Devuelve la colección de propiedades para un componente especificado.Returns the collection of properties for a specified component.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component);
static member GetProperties : obj -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object) As PropertyDescriptorCollection

Parámetros

component
Object Object Object Object

Componente del que se van a obtener las propiedades.A component to get the properties for.

Devoluciones

Excepciones

component es un objeto remoto entre procesos.component is a cross-process remoted object.

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la GetProperties método para acceder a las propiedades de un control.The following code example demonstrates the use of the GetProperties method to access the properties of a control. Este ejemplo de código forma parte de un ejemplo más extenso proporcionado para el ComponentDesigner clase.This code example is part of a larger example provided for the ComponentDesigner class.

// This is the shadowed property on the designer.
// This value will be serialized instead of the 
// value of the control's property.
public Color BackColor
{
    get
    {
        return (Color)ShadowProperties["BackColor"];
    }
    set
    {
        if (this.changeService != null)
        {
            PropertyDescriptor backColorDesc =
                TypeDescriptor.GetProperties(this.Control)["BackColor"];

            this.changeService.OnComponentChanging(
                this.Control,
                backColorDesc);

            this.ShadowProperties["BackColor"] = value;

            this.changeService.OnComponentChanged(
                this.Control,
                backColorDesc,
                null,
                null);
        }
    }
}
' This is the shadowed property on the designer.
' This value will be serialized instead of the 
' value of the control's property.

Public Property BackColor() As Color
    Get
        Return CType(ShadowProperties("BackColor"), Color)
    End Get
    Set(ByVal value As Color)
        If (Me.changeService IsNot Nothing) Then
            Dim backColorDesc As PropertyDescriptor = TypeDescriptor.GetProperties(Me.Control)("BackColor")

            Me.changeService.OnComponentChanging(Me.Control, backColorDesc)

            Me.ShadowProperties("BackColor") = value

            Me.changeService.OnComponentChanged(Me.Control, backColorDesc, Nothing, Nothing)
        End If
    End Set
End Property

Comentarios

Las propiedades de un componente pueden diferir de las propiedades de una clase, ya que puede agregar o quitar propiedades si el componente está ubicado el sitio.The properties for a component can differ from the properties of a class, because the site can add or remove properties if the component is sited.

Si el component parámetro es null, se devuelve una colección vacía.If the component parameter is null, an empty collection is returned.

No se garantiza el orden de la colección devuelta para ser idénticos entre las llamadas, por lo que siempre el pedido antes de su uso.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Consulte también:

GetProperties(Object, Attribute[]) GetProperties(Object, Attribute[]) GetProperties(Object, Attribute[]) GetProperties(Object, Attribute[])

Devuelve la colección de propiedades para un componente especificado utilizando una matriz de atributos determinada que sirve como filtro.Returns the collection of properties for a specified component using a specified array of attributes as a filter.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, cli::array <Attribute ^> ^ attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, Attribute[] attributes);
static member GetProperties : obj * Attribute[] -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object, attributes As Attribute()) As PropertyDescriptorCollection

Parámetros

component
Object Object Object Object

Componente del que se van a obtener las propiedades.A component to get the properties for.

attributes
Attribute[]

Matriz de tipo Attribute que se va a utilizar como filtro.An array of type Attribute to use as a filter.

Devoluciones

PropertyDescriptorCollection con las propiedades que coinciden con los atributos especificados del componente especificado.A PropertyDescriptorCollection with the properties that match the specified attributes for the specified component.

Excepciones

component es un objeto remoto entre procesos.component is a cross-process remoted object.

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar el GetProperties método.The following code example demonstrates how to implement the GetProperties method. Este ejemplo de código forma parte de un ejemplo más extenso proporcionado para el PropertyTab clase.This code example is part of a larger example provided for the PropertyTab class.

// Returns the properties of the specified component extended with
// a CategoryAttribute reflecting the name of the type of the property.
[ReflectionPermission(SecurityAction::Demand, Flags=ReflectionPermissionFlag::MemberAccess)]
virtual System::ComponentModel::PropertyDescriptorCollection^ GetProperties( Object^ component, array<System::Attribute^>^attributes ) override
{
   PropertyDescriptorCollection^ props;
   if ( attributes == nullptr )
            props = TypeDescriptor::GetProperties( component );
   else
            props = TypeDescriptor::GetProperties( component, attributes );

   array<PropertyDescriptor^>^propArray = gcnew array<PropertyDescriptor^>(props->Count);
   for ( int i = 0; i < props->Count; i++ )
   {
      // Create a new PropertyDescriptor from the old one, with
      // a CategoryAttribute matching the name of the type.
      array<Attribute^>^temp0 = {gcnew CategoryAttribute( props[ i ]->PropertyType->Name )};
      propArray[ i ] = TypeDescriptor::CreateProperty( props[ i ]->ComponentType, props[ i ], temp0 );

   }
   return gcnew PropertyDescriptorCollection( propArray );
}

virtual System::ComponentModel::PropertyDescriptorCollection^ GetProperties( Object^ component ) override
{
   return this->GetProperties( component, nullptr );
}
// Returns the properties of the specified component extended with 
// a CategoryAttribute reflecting the name of the type of the property.
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, System.Attribute[] attributes)
{
    PropertyDescriptorCollection props;
    if( attributes == null )
        props = TypeDescriptor.GetProperties(component);    
    else
        props = TypeDescriptor.GetProperties(component, attributes);    
    
    PropertyDescriptor[] propArray = new PropertyDescriptor[props.Count];            
    for(int i=0; i<props.Count; i++)           
    {                
        // Create a new PropertyDescriptor from the old one, with 
        // a CategoryAttribute matching the name of the type.
        propArray[i] = TypeDescriptor.CreateProperty(props[i].ComponentType, props[i], new CategoryAttribute(props[i].PropertyType.Name));
    }
    return new PropertyDescriptorCollection( propArray );
}

public override System.ComponentModel.PropertyDescriptorCollection GetProperties(object component)
{                     
    return this.GetProperties(component, null);
}
' Returns the properties of the specified component extended with 
' a CategoryAttribute reflecting the name of the type of the property.
Public Overloads Overrides Function GetProperties(ByVal component As Object, ByVal attributes() As System.Attribute) As System.ComponentModel.PropertyDescriptorCollection
    Dim props As PropertyDescriptorCollection
    If attributes Is Nothing Then
        props = TypeDescriptor.GetProperties(component)
    Else
        props = TypeDescriptor.GetProperties(component, attributes)
    End If
    Dim propArray(props.Count - 1) As PropertyDescriptor
    Dim i As Integer
    For i = 0 To props.Count - 1
        ' Create a new PropertyDescriptor from the old one, with 
        ' a CategoryAttribute matching the name of the type.
        propArray(i) = TypeDescriptor.CreateProperty(props(i).ComponentType, props(i), New CategoryAttribute(props(i).PropertyType.Name))
    Next i
    Return New PropertyDescriptorCollection(propArray)
End Function

Public Overloads Overrides Function GetProperties(ByVal component As Object) As System.ComponentModel.PropertyDescriptorCollection
    Return Me.GetProperties(component, Nothing)
End Function

Comentarios

Las propiedades de la component parámetro puede diferir de las propiedades de una clase, porque el sitio puede agregar o quitar propiedades si el component se basa en un parámetro.The properties for the component parameter can differ from the properties of a class, because the site can add or remove properties if the component parameter is sited.

El attributes matriz de parámetros se utiliza para filtrar la matriz.The attributes parameter array is used to filter the array. El filtrado se define mediante las siguientes reglas:Filtering is defined by the following rules:

  • Si no tiene una propiedad de un Attribute de la misma clase, la propiedad no se incluye en la matriz devuelta.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Si el atributo es una instancia de la Attribute (clase), la propiedad debe ser una coincidencia exacta o no se incluye en la matriz devuelta.If the attribute is an instance of the Attribute class, the property must be an exact match or it is not included in the returned array.

  • Si un Attribute se especifica la instancia y es la propiedad predeterminada, se incluye en la matriz devuelta incluso si no hay ninguna instancia de la Attribute en la propiedad.If an Attribute instance is specified and it is the default property, it is included in the returned array even if there is no instance of the Attribute in the property.

  • Si attributes tiene un atributo de forma predeterminada, el GetProperties método coincide con el caso cuando la propiedad no tiene aplicado el atributo.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Si component es null, se devuelve una colección vacía.If component is null, an empty collection is returned.

No se garantiza el orden de la colección devuelta para ser idénticos entre las llamadas, por lo que siempre el pedido antes de su uso.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Consulte también:

Se aplica a