TypeDescriptor.GetProperties Metodo

Definizione

Restituisce la raccolta di proprietà in un componente o un tipo.Returns the collection of properties on a component or type.

Overload

GetProperties(Object, Attribute[], Boolean)

Restituisce la raccolta di proprietà per un componente specificato usando come filtro una matrice di attributi specificata e usando un descrittore di tipi personalizzato.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)

Restituisce la raccolta di proprietà per un determinato componente usando il descrittore di tipo predefinito.Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type, Attribute[])

Restituisce la raccolta di proprietà per un tipo di componente specificato usando una matrice di attributi specificata come filtro.Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProperties(Type)

Restituisce la raccolta di proprietà per un tipo di componente specificato.Returns the collection of properties for a specified type of component.

GetProperties(Object)

Restituisce la raccolta di proprietà per un componente specificato.Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[])

Restituisce la raccolta di proprietà per un componente specificato usando una matrice di attributi specificata come filtro.Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean)

Restituisce la raccolta di proprietà per un componente specificato usando come filtro una matrice di attributi specificata e usando un descrittore di tipi personalizzato.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

Parametri

component
Object

Componente per il quale ottenere le proprietà.A component to get the properties for.

attributes
Attribute[]

Matrice di tipo Attribute da usare come filtro.An array of type Attribute to use as a filter.

noCustomTypeDesc
Boolean

true per considerare le informazioni di descrizione dei tipi personalizzati; in caso contrario, false.true to consider custom type description information; otherwise, false.

Restituisce

Oggetto PropertyDescriptorCollection con gli eventi che corrispondono agli attributi specificati per il componente specificato.A PropertyDescriptorCollection with the events that match the specified attributes for the specified component.

Eccezioni

component è un oggetto remoto tra processi.component is a cross-process remoted object.

Commenti

Le proprietà di un component possono differire dalle proprietà di una classe, perché il sito può aggiungere o rimuovere proprietà se il component è sito.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.

La matrice di parametri attributes viene utilizzata per filtrare la matrice.The attributes parameter array is used to filter the array. Il filtro è definito dalle regole seguenti:Filtering is defined by the following rules:

  • Se una proprietà non dispone di un Attribute della stessa classe, la proprietà non viene inclusa nella matrice restituita.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Se l'attributo è un'istanza della classe Attribute, la proprietà deve essere una corrispondenza esatta o non è inclusa nella matrice restituita.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.

  • Se viene specificata un'istanza di Attribute e si tratta della proprietà predefinita, questa viene inclusa nella matrice restituita anche se non è presente alcuna istanza del Attribute nella proprietà.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.

  • Se attributes dispone di un attributo predefinito, il metodo GetProperties corrisponde al caso in cui alla proprietà non è applicato l'attributo.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Se il parametro component è null, viene restituita una raccolta vuota.If the component parameter is null, an empty collection is returned.

Non è garantito che l'ordine della raccolta restituita sia identico tra le chiamate, quindi è sempre necessario ordinarlo prima di usarlo.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Vedi anche

GetProperties(Object, Boolean)

Restituisce la raccolta di proprietà per un determinato componente usando il descrittore di tipo predefinito.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

Parametri

component
Object

Componente per il quale ottenere le proprietà.A component to get the properties for.

noCustomTypeDesc
Boolean

true per non considerare le informazioni di descrizione dei tipi personalizzati; in caso contrario, false.true to not consider custom type description information; otherwise, false.

Restituisce

Oggetto PropertyDescriptorCollection con le proprietà per un componente specificato.A PropertyDescriptorCollection with the properties for a specified component.

Eccezioni

component è un oggetto remoto tra processi.component is a cross-process remoted object.

Commenti

Le proprietà del parametro component possono differire dalle proprietà di una classe, in quanto il sito può aggiungere o rimuovere proprietà se il component parametro è sito.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.

Se component è null, viene restituita una raccolta vuota.If component is null, an empty collection is returned.

Non è garantito che l'ordine della raccolta restituita sia identico tra le chiamate, quindi è sempre necessario ordinarlo prima di usarlo.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Vedi anche

GetProperties(Type, Attribute[])

Restituisce la raccolta di proprietà per un tipo di componente specificato usando una matrice di attributi specificata come 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

Parametri

componentType
Type

Oggetto Type del componente di destinazione.The Type of the target component.

attributes
Attribute[]

Matrice di tipo Attribute da usare come filtro.An array of type Attribute to use as a filter.

Restituisce

Oggetto PropertyDescriptorCollection con le proprietà che corrispondono agli attributi specificati per questo tipo di componente.A PropertyDescriptorCollection with the properties that match the specified attributes for this type of component.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come implementare il metodo GetProperties.The following code example demonstrates how to implement the GetProperties method. Questo esempio di codice fa parte di un esempio più ampio fornito per la classe PropertyTab.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

Commenti

Chiamare questa versione di questo metodo solo quando non si dispone di un'istanza dell'oggetto.Call this version of this method only when you do not have an instance of the object.

La matrice di parametri attributes viene utilizzata per filtrare la matrice.The attributes parameter array is used to filter the array. Il filtro è definito dalle regole seguenti:Filtering is defined by the following rules:

  • Se una proprietà non dispone di un Attribute della stessa classe, la proprietà non viene inclusa nella matrice restituita.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Se l'attributo è un'istanza della classe Attribute, la proprietà deve essere una corrispondenza esatta o non è inclusa nella matrice restituita.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.

  • Se viene specificata un'istanza di Attribute e si tratta della proprietà predefinita, questa viene inclusa nella matrice restituita anche se non è presente alcuna istanza del Attribute nella proprietà.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.

  • Se attributes dispone di un attributo predefinito, il metodo GetProperties corrisponde al caso in cui alla proprietà non è applicato l'attributo.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Se il parametro componentType è null, viene restituita una raccolta vuota.If the componentType parameter is null, an empty collection is returned.

Non è garantito che l'ordine della raccolta restituita sia identico tra le chiamate, quindi è sempre necessario ordinarlo prima di usarlo.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Vedi anche

GetProperties(Type)

Restituisce la raccolta di proprietà per un tipo di componente specificato.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

Parametri

componentType
Type

Oggetto Type che rappresenta il componente per il quale ottenere proprietà.A Type that represents the component to get properties for.

Restituisce

Oggetto PropertyDescriptorCollection con le proprietà per un tipo di componente specificato.A PropertyDescriptorCollection with the properties for a specified type of component.

Commenti

Chiamare questa versione di questo metodo solo quando non si dispone di un'istanza dell'oggetto.Call this version of this method only when you do not have an instance of the object.

Se il parametro componentType è null, viene restituita una raccolta vuota.If the componentType parameter is null, an empty collection is returned.

Non è garantito che l'ordine della raccolta restituita sia identico tra le chiamate, quindi è sempre necessario ordinarlo prima di usarlo.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Vedi anche

GetProperties(Object)

Restituisce la raccolta di proprietà per un componente specificato.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

Parametri

component
Object

Componente per il quale ottenere le proprietà.A component to get the properties for.

Restituisce

Oggetto PropertyDescriptorCollection con le proprietà per un componente specificato.A PropertyDescriptorCollection with the properties for the specified component.

Eccezioni

component è un oggetto remoto tra processi.component is a cross-process remoted object.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo del metodo GetProperties per accedere alle proprietà di un controllo.The following code example demonstrates the use of the GetProperties method to access the properties of a control. Questo esempio di codice fa parte di un esempio più ampio fornito per la classe ComponentDesigner.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

Commenti

Le proprietà di un componente possono differire dalle proprietà di una classe, in quanto il sito può aggiungere o rimuovere proprietà se il componente è sito.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.

Se il parametro component è null, viene restituita una raccolta vuota.If the component parameter is null, an empty collection is returned.

Non è garantito che l'ordine della raccolta restituita sia identico tra le chiamate, quindi è sempre necessario ordinarlo prima di usarlo.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Vedi anche

GetProperties(Object, Attribute[])

Restituisce la raccolta di proprietà per un componente specificato usando una matrice di attributi specificata come 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

Parametri

component
Object

Componente per il quale ottenere le proprietà.A component to get the properties for.

attributes
Attribute[]

Matrice di tipo Attribute da usare come filtro.An array of type Attribute to use as a filter.

Restituisce

Oggetto PropertyDescriptorCollection con le proprietà che corrispondono agli attributi specificati per il componente specificato.A PropertyDescriptorCollection with the properties that match the specified attributes for the specified component.

Eccezioni

component è un oggetto remoto tra processi.component is a cross-process remoted object.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come implementare il metodo GetProperties.The following code example demonstrates how to implement the GetProperties method. Questo esempio di codice fa parte di un esempio più ampio fornito per la classe PropertyTab.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

Commenti

Le proprietà del parametro component possono differire dalle proprietà di una classe, in quanto il sito può aggiungere o rimuovere proprietà se il component parametro è sito.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.

La matrice di parametri attributes viene utilizzata per filtrare la matrice.The attributes parameter array is used to filter the array. Il filtro è definito dalle regole seguenti:Filtering is defined by the following rules:

  • Se una proprietà non dispone di un Attribute della stessa classe, la proprietà non viene inclusa nella matrice restituita.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Se l'attributo è un'istanza della classe Attribute, la proprietà deve essere una corrispondenza esatta o non è inclusa nella matrice restituita.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.

  • Se viene specificata un'istanza di Attribute e si tratta della proprietà predefinita, questa viene inclusa nella matrice restituita anche se non è presente alcuna istanza del Attribute nella proprietà.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.

  • Se attributes dispone di un attributo predefinito, il metodo GetProperties corrisponde al caso in cui alla proprietà non è applicato l'attributo.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Se component è null, viene restituita una raccolta vuota.If component is null, an empty collection is returned.

Non è garantito che l'ordine della raccolta restituita sia identico tra le chiamate, quindi è sempre necessario ordinarlo prima di usarlo.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Vedi anche

Si applica a