TypeDescriptor.GetProperties Méthode

Définition

Retourne la collection de propriétés pour un composant ou un type.

Surcharges

GetProperties(Object, Attribute[], Boolean)

Retourne la collection de propriétés d’un composant spécifié en utilisant comme filtre un tableau d’attributs spécifié, et en utilisant un descripteur de type personnalisé.

GetProperties(Object, Boolean)

Retourne la collection de propriétés pour un composant spécifié en utilisant le descripteur de type par défaut.

GetProperties(Type, Attribute[])

Retourne la collection de propriétés d’un type de composant spécifié en utilisant comme filtre le tableau d’attributs spécifié.

GetProperties(Type)

Retourne la collection de propriétés pour un type de composant spécifié.

GetProperties(Object)

Retourne la collection de propriétés pour un composant spécifié.

GetProperties(Object, Attribute[])

Retourne la collection de propriétés d’un composant spécifié en utilisant comme filtre le tableau d’attributs spécifié.

GetProperties(Object, Attribute[], Boolean)

Retourne la collection de propriétés d’un composant spécifié en utilisant comme filtre un tableau d’attributs spécifié, et en utilisant un descripteur de type personnalisé.

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);
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

Composant dont les propriétés doivent être obtenues.

attributes
Attribute[]

Tableau de type Attribute à utiliser comme filtre.

noCustomTypeDesc
Boolean

true pour prendre en compte les informations de description de type personnalisée ; sinon, false.

Retours

PropertyDescriptorCollection

PropertyDescriptorCollection dont les événements correspondent aux attributs spécifiés pour le composant spécifié.

Exceptions

component est un objet distant interprocessus.

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 le est sur le component site.

Le attributes tableau de paramètres est utilisé pour filtrer le tableau. Le filtrage est défini par les règles suivantes :

  • Si une propriété n’a pas Attribute de la même classe, la propriété n’est pas incluse dans le tableau retourné.

  • 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é.

  • 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 n’y a aucune instance de Attribute dans la propriété.

  • Si attributes a un attribut par défaut, la GetProperties méthode correspond au cas où l’attribut n’est pas appliqué à la propriété.

Si le component paramètre a la la null , une collection vide est retournée.

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.

Voir aussi

S’applique à

GetProperties(Object, Boolean)

Retourne la collection de propriétés pour un composant spécifié en utilisant le descripteur de type par défaut.

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

Composant dont les propriétés doivent être obtenues.

noCustomTypeDesc
Boolean

true pour ne pas prendre en compte les informations de description de type personnalisé ; sinon, false.

Retours

PropertyDescriptorCollection

PropertyDescriptorCollection avec les propriétés d’un composant spécifié.

Exceptions

component est un objet distant interprocessus.

Remarques

Les propriétés du component 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.

Si component est null , une collection vide est retournée.

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.

Voir aussi

S’applique à

GetProperties(Type, Attribute[])

Retourne la collection de propriétés d’un type de composant spécifié en utilisant comme filtre le tableau d’attributs spécifié.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(Type ^ componentType, cli::array <Attribute ^> ^ attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType, 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 du composant cible.

attributes
Attribute[]

Tableau de type Attribute à utiliser comme filtre.

Retours

PropertyDescriptorCollection

PropertyDescriptorCollection dont les propriétés correspondent aux attributs spécifiés pour le type de composant spécifié.

Exemples

L’exemple de code suivant montre comment implémenter la GetProperties méthode. Cet exemple de code fait partie d’un exemple plus complet fourni pour la PropertyTab classe.

// 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.

Le attributes tableau de paramètres est utilisé pour filtrer le tableau. Le filtrage est défini par les règles suivantes :

  • Si une propriété n’a pas Attribute de la même classe, la propriété n’est pas incluse dans le tableau retourné.

  • 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é.

  • 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 n’y a aucune instance de Attribute dans la propriété.

  • Si attributes a un attribut par défaut, la GetProperties méthode correspond au cas où l’attribut n’est pas appliqué à la propriété.

Si le componentType paramètre a la la null , une collection vide est retournée.

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.

Voir aussi

S’applique à

GetProperties(Type)

Retourne la collection de propriétés pour un type de composant spécifié.

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 qui représente le composant dont les propriétés doivent être récupérées.

Retours

PropertyDescriptorCollection

PropertyDescriptorCollection avec les propriétés d’un type de composant spécifié.

Remarques

Appelez cette version de cette méthode uniquement si vous n’avez pas d’instance de l’objet.

Si le componentType paramètre a la la null , une collection vide est retournée.

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.

Voir aussi

S’applique à

GetProperties(Object)

Retourne la collection de propriétés pour un composant spécifié.

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

Composant dont les propriétés doivent être obtenues.

Retours

PropertyDescriptorCollection

PropertyDescriptorCollection avec les propriétés du composant spécifié.

Exceptions

component est un objet distant interprocessus.

Exemples

L’exemple de code suivant illustre l’utilisation de la GetProperties méthode pour accéder aux propriétés d’un contrôle. Cet exemple de code fait partie d’un exemple plus complet fourni pour la ComponentDesigner classe.

// 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.

Si le component paramètre a la la null , une collection vide est retournée.

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.

Voir aussi

S’applique à

GetProperties(Object, Attribute[])

Retourne la collection de propriétés d’un composant spécifié en utilisant comme filtre le tableau d’attributs spécifié.

public:
 static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, cli::array <Attribute ^> ^ attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, 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

Composant dont les propriétés doivent être obtenues.

attributes
Attribute[]

Tableau de type Attribute à utiliser comme filtre.

Retours

PropertyDescriptorCollection

PropertyDescriptorCollection dont les propriétés correspondent aux attributs spécifiés pour le composant spécifié.

Exceptions

component est un objet distant interprocessus.

Exemples

L’exemple de code suivant montre comment implémenter la GetProperties méthode. Cet exemple de code fait partie d’un exemple plus complet fourni pour la PropertyTab classe.

// 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 du component 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.

Le attributes tableau de paramètres est utilisé pour filtrer le tableau. Le filtrage est défini par les règles suivantes :

  • Si une propriété n’a pas Attribute de la même classe, la propriété n’est pas incluse dans le tableau retourné.

  • 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é.

  • 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 n’y a aucune instance de Attribute dans la propriété.

  • Si attributes a un attribut par défaut, la GetProperties méthode correspond au cas où l’attribut n’est pas appliqué à la propriété.

Si component est null , une collection vide est retournée.

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.

Voir aussi

S’applique à