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

Définition

Retourne la collection de propriétés sur un composant ou un type.Returns the collection of properties on a component or type.

Surcharges

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

Retourne la collection des propriétés pour un composant spécifié en utilisant comme filtre un tableau d'attributs déterminé et un descripteur de type personnalisé.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)

Retourne la collection de propriétés pour un composant spécifié, à l'aide du descripteur de type par défaut.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[])

Retourne la collection de propriétés pour un type de composant déterminé en utilisant comme filtre un tableau d'attributs spécifié.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)

Retourne la collection de propriétés pour un type de composant spécifié.Returns the collection of properties for a specified type of component.

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

Retourne la collection de propriétés pour un composant spécifié.Returns the collection of properties for a specified component.

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

Retourne la collection de propriétés pour un composant déterminé en utilisant comme filtre un tableau d'attributs spécifié.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)

Retourne la collection des propriétés pour un composant spécifié en utilisant comme filtre un tableau d'attributs déterminé et un descripteur de type personnalisé.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

Paramètres

component
Object Object Object Object

Composant pour lequel obtenir les propriétés.A component to get the properties for.

attributes
Attribute[]

Tableau de type Attribute à utiliser comme filtre.An array of type Attribute to use as a filter.

noCustomTypeDesc
Boolean Boolean Boolean Boolean

true pour prendre en compte les informations de description de type personnalisées ; sinon, false.true to consider custom type description information; otherwise, false.

Retours

PropertyDescriptorCollection avec les événements qui correspondent aux attributs spécifiés pour le composant déterminé.A PropertyDescriptorCollection with the events that match the specified attributes for the specified component.

Exceptions

component est un objet distant interprocessus.component is a cross-process remoted object.

Remarques

Les propriétés d’un component peuvent différer des propriétés d’une classe, car le site peut ajouter ou supprimer des propriétés si component le est sur le site.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.

Le attributes tableau de paramètres est utilisé pour filtrer le tableau.The attributes parameter array is used to filter the array. Le filtrage est défini par les règles suivantes :Filtering is defined by the following rules:

  • Si une propriété n’a Attribute pas de la même classe, la propriété n’est pas incluse dans le tableau retourné.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Si l’attribut est une instance de la Attribute classe, la propriété doit être une correspondance exacte ou elle n’est pas incluse dans le tableau retourné.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 une Attribute instance est spécifiée et qu’il s’agit de la propriété par défaut, elle est incluse dans le tableau retourné, même s’il Attribute n’y a aucune instance de dans la propriété.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 a un attribut par défaut, GetProperties la méthode correspond au cas où l’attribut n’est pas appliqué à la propriété.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Si le component paramètre a nullla la, une collection vide est retournée.If the component parameter is null, an empty collection is returned.

Il n’est pas garanti que l’ordre de la collection retournée soit identique d’un appel à un autre. par conséquent, vous devez toujours le commander avant de l’utiliser.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Voir aussi

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

Retourne la collection de propriétés pour un composant spécifié, à l'aide du descripteur de type par défaut.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

Paramètres

component
Object Object Object Object

Composant pour lequel obtenir les propriétés.A component to get the properties for.

noCustomTypeDesc
Boolean Boolean Boolean Boolean

true pour ne pas prendre en compte les informations de description de type personnalisé ; sinon, false.true to not consider custom type description information; otherwise, false.

Retours

Exceptions

component est un objet distant interprocessus.component is a cross-process remoted object.

Remarques

Les propriétés component du paramètre peuvent différer des propriétés d’une classe, car le site peut ajouter ou supprimer des propriétés si le component paramètre est sur site.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 estnull, une collection vide est retournée.If component is null, an empty collection is returned.

Il n’est pas garanti que l’ordre de la collection retournée soit identique d’un appel à un autre. par conséquent, vous devez toujours le commander avant de l’utiliser.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Voir aussi

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

Retourne la collection de propriétés pour un type de composant déterminé en utilisant comme filtre un tableau d'attributs spécifié.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

Paramètres

componentType
Type Type Type Type

Type du composant cible.The Type of the target component.

attributes
Attribute[]

Tableau de type Attribute à utiliser comme filtre.An array of type Attribute to use as a filter.

Retours

PropertyDescriptorCollection avec les propriétés qui correspondent aux attributs spécifiés pour ce type de composant.A PropertyDescriptorCollection with the properties that match the specified attributes for this type of component.

Exemples

L’exemple de code suivant montre comment implémenter GetProperties la méthode.The following code example demonstrates how to implement the GetProperties method. Cet exemple de code fait partie d’un exemple plus complet fourni PropertyTab pour la classe.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

Remarques

Appelez cette version de cette méthode uniquement si vous n’avez pas d’instance de l’objet.Call this version of this method only when you do not have an instance of the object.

Le attributes tableau de paramètres est utilisé pour filtrer le tableau.The attributes parameter array is used to filter the array. Le filtrage est défini par les règles suivantes :Filtering is defined by the following rules:

  • Si une propriété n’a Attribute pas de la même classe, la propriété n’est pas incluse dans le tableau retourné.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Si l’attribut est une instance de la Attribute classe, la propriété doit être une correspondance exacte ou elle n’est pas incluse dans le tableau retourné.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 une Attribute instance est spécifiée et qu’il s’agit de la propriété par défaut, elle est incluse dans le tableau retourné, même s’il Attribute n’y a aucune instance de dans la propriété.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 a un attribut par défaut, GetProperties la méthode correspond au cas où l’attribut n’est pas appliqué à la propriété.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Si le componentType paramètre a nullla la, une collection vide est retournée.If the componentType parameter is null, an empty collection is returned.

Il n’est pas garanti que l’ordre de la collection retournée soit identique d’un appel à un autre. par conséquent, vous devez toujours le commander avant de l’utiliser.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Voir aussi

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

Retourne la collection de propriétés pour un type de composant spécifié.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

Paramètres

componentType
Type Type Type Type

Type représentant le composant pour lequel obtenir les propriétés.A Type that represents the component to get properties for.

Retours

PropertyDescriptorCollection avec les propriétés pour un type de composant spécifié.A PropertyDescriptorCollection with the properties for a specified type of component.

Remarques

Appelez cette version de cette méthode uniquement si vous n’avez pas d’instance de l’objet.Call this version of this method only when you do not have an instance of the object.

Si le componentType paramètre a nullla la, une collection vide est retournée.If the componentType parameter is null, an empty collection is returned.

Il n’est pas garanti que l’ordre de la collection retournée soit identique d’un appel à un autre. par conséquent, vous devez toujours le commander avant de l’utiliser.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Voir aussi

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

Retourne la collection de propriétés pour un composant spécifié.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

Paramètres

component
Object Object Object Object

Composant pour lequel obtenir les propriétés.A component to get the properties for.

Retours

Exceptions

component est un objet distant interprocessus.component is a cross-process remoted object.

Exemples

L’exemple de code suivant illustre l’utilisation de GetProperties la méthode pour accéder aux propriétés d’un contrôle.The following code example demonstrates the use of the GetProperties method to access the properties of a control. Cet exemple de code fait partie d’un exemple plus complet fourni ComponentDesigner pour la classe.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

Remarques

Les propriétés d’un composant peuvent différer des propriétés d’une classe, car le site peut ajouter ou supprimer des propriétés si le composant est sur site.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 le component paramètre a nullla la, une collection vide est retournée.If the component parameter is null, an empty collection is returned.

Il n’est pas garanti que l’ordre de la collection retournée soit identique d’un appel à un autre. par conséquent, vous devez toujours le commander avant de l’utiliser.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Voir aussi

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

Retourne la collection de propriétés pour un composant déterminé en utilisant comme filtre un tableau d'attributs spécifié.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

Paramètres

component
Object Object Object Object

Composant pour lequel obtenir les propriétés.A component to get the properties for.

attributes
Attribute[]

Tableau de type Attribute à utiliser comme filtre.An array of type Attribute to use as a filter.

Retours

PropertyDescriptorCollection avec les propriétés qui correspondent aux attributs spécifiés pour le composant indiqué.A PropertyDescriptorCollection with the properties that match the specified attributes for the specified component.

Exceptions

component est un objet distant interprocessus.component is a cross-process remoted object.

Exemples

L’exemple de code suivant montre comment implémenter GetProperties la méthode.The following code example demonstrates how to implement the GetProperties method. Cet exemple de code fait partie d’un exemple plus complet fourni PropertyTab pour la classe.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

Remarques

Les propriétés component du paramètre peuvent différer des propriétés d’une classe, car le site peut ajouter ou supprimer des propriétés si le component paramètre est sur site.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.

Le attributes tableau de paramètres est utilisé pour filtrer le tableau.The attributes parameter array is used to filter the array. Le filtrage est défini par les règles suivantes :Filtering is defined by the following rules:

  • Si une propriété n’a Attribute pas de la même classe, la propriété n’est pas incluse dans le tableau retourné.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Si l’attribut est une instance de la Attribute classe, la propriété doit être une correspondance exacte ou elle n’est pas incluse dans le tableau retourné.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 une Attribute instance est spécifiée et qu’il s’agit de la propriété par défaut, elle est incluse dans le tableau retourné, même s’il Attribute n’y a aucune instance de dans la propriété.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 a un attribut par défaut, GetProperties la méthode correspond au cas où l’attribut n’est pas appliqué à la propriété.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Si component estnull, une collection vide est retournée.If component is null, an empty collection is returned.

Il n’est pas garanti que l’ordre de la collection retournée soit identique d’un appel à un autre. par conséquent, vous devez toujours le commander avant de l’utiliser.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Voir aussi

S’applique à