TypeDescriptor.GetProperties Método

Definição

Devolve a coleção de propriedades num componente ou tipo.

Sobrecargas

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

Devolve a coleção de propriedades de um componente especificado usando um array especificado de atributos como filtro e usando um descritor de tipo personalizado.

GetProperties(Object, Boolean)

Devolve a coleção de propriedades para um componente especificado usando o descriptor de tipo padrão.

GetProperties(Type, Attribute[])

Devolve a coleção de propriedades para um tipo específico de componente usando um array especificado de atributos como filtro.

GetProperties(Type)

Devolve a coleção de propriedades para um tipo específico de componente.

GetProperties(Object)

Devolve a coleção de propriedades para um componente especificado.

GetProperties(Object, Attribute[])

Devolve a coleção de propriedades de um componente especificado usando um array especificado de atributos como filtro.

GetProperties(Object, Attribute[], Boolean)

Devolve a coleção de propriedades de um componente especificado usando um array especificado de atributos como filtro e usando um descritor de tipo personalizado.

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

Um componente para obter as propriedades.

attributes
Attribute[]

Um array de tipos Attribute para usar como filtro.

noCustomTypeDesc
Boolean

true não considerar informações personalizadas de descrição de tipo; caso contrário, false.

Devoluções

A com os eventos que correspondem PropertyDescriptorCollection aos atributos especificados para o componente especificado.

Exceções

component é um objeto remoto de processo cruzado.

Observações

As propriedades de um component podem diferir das propriedades de uma classe, porque o site pode adicionar ou remover propriedades se o component site estiver localizado.

O attributes array de parâmetros é usado para filtrar o array. A filtragem é definida pelas seguintes regras:

  • Se uma propriedade não tiver um Attribute da mesma classe, a propriedade não é incluída no array devolvido.

  • Se o atributo for uma instância da Attribute classe, a propriedade deve ser uma correspondência exata ou não está incluída no array devolvido.

  • Se uma Attribute instância for especificada e for a propriedade padrão, ela é incluída no array devolvido mesmo que não exista instância do Attribute na propriedade.

  • Se attributes tiver um atributo por defeito, o GetProperties método corresponde ao caso em que a propriedade não tem o atributo aplicado.

Se o component parâmetro for null, é devolvida uma coleção vazia.

A ordem da coleção devolvida não é garantida que seja idêntica entre chamadas, por isso ordene sempre antes de ser usada.

Ver também

Aplica-se a

GetProperties(Object, Boolean)

Devolve a coleção de propriedades para um componente especificado usando o descriptor de tipo padrão.

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

Um componente para obter as propriedades.

noCustomTypeDesc
Boolean

true não considerar informações personalizadas de descrição de tipo; caso contrário, false.

Devoluções

A PropertyDescriptorCollection com as propriedades de um componente especificado.

Exceções

component é um objeto remoto de processo cruzado.

Observações

As propriedades do component parâmetro podem diferir das propriedades de uma classe, porque o site pode adicionar ou remover propriedades se o component parâmetro estiver localizado.

Se component for null, uma coleção vazia é devolvida.

A ordem da coleção devolvida não é garantida que seja idêntica entre chamadas, por isso ordene sempre antes de ser usada.

Ver também

Aplica-se a

GetProperties(Type, Attribute[])

Devolve a coleção de propriedades para um tipo específico de componente usando um array especificado de atributos como filtro.

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

O Type do componente alvo.

attributes
Attribute[]

Um array de tipos Attribute para usar como filtro.

Devoluções

A com as propriedades que correspondem PropertyDescriptorCollection aos atributos especificados para este tipo de componente.

Exemplos

O exemplo de código seguinte demonstra como implementar o GetProperties método. Este exemplo de código faz parte de um exemplo maior fornecido para a 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 PropertyDescriptorCollection GetProperties(object component, System.Attribute[] attributes)
{
    PropertyDescriptorCollection props = attributes == null ? TypeDescriptor.GetProperties(component) : 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 PropertyDescriptorCollection GetProperties(object component) => GetProperties(component, null);

Observações

Chame esta versão deste método apenas quando não tiver uma instância do objeto.

O attributes array de parâmetros é usado para filtrar o array. A filtragem é definida pelas seguintes regras:

  • Se uma propriedade não tiver um Attribute da mesma classe, a propriedade não é incluída no array devolvido.

  • Se o atributo for uma instância da Attribute classe, a propriedade deve ser uma correspondência exata ou não está incluída no array devolvido.

  • Se uma Attribute instância for especificada e for a propriedade padrão, ela é incluída no array devolvido mesmo que não exista instância do Attribute na propriedade.

  • Se attributes tiver um atributo por defeito, o GetProperties método corresponde ao caso em que a propriedade não tem o atributo aplicado.

Se o componentType parâmetro for null, é devolvida uma coleção vazia.

A ordem da coleção devolvida não é garantida que seja idêntica entre chamadas, por isso ordene sempre antes de ser usada.

Ver também

Aplica-se a

GetProperties(Type)

Devolve a coleção de propriedades para um tipo específico de componente.

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

A Type que representa o componente a obter propriedades para.

Devoluções

A PropertyDescriptorCollection com as propriedades para um tipo específico de componente.

Observações

Chame esta versão deste método apenas quando não tiver uma instância do objeto.

Se o componentType parâmetro for null, é devolvida uma coleção vazia.

A ordem da coleção devolvida não é garantida que seja idêntica entre chamadas, por isso ordene sempre antes de ser usada.

Ver também

Aplica-se a

GetProperties(Object)

Devolve a coleção de propriedades para um componente especificado.

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

Um componente para obter as propriedades.

Devoluções

A PropertyDescriptorCollection com as propriedades do componente especificado.

Exceções

component é um objeto remoto de processo cruzado.

Exemplos

O exemplo de código seguinte demonstra a utilização do GetProperties método para aceder às propriedades de um controlo. Este exemplo de código faz parte de um exemplo maior fornecido para a 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 => (Color)ShadowProperties[nameof(BackColor)];
    set
    {
        if (changeService != null)
        {
            PropertyDescriptor backColorDesc =
                TypeDescriptor.GetProperties(Control)["BackColor"];

            changeService.OnComponentChanging(
                Control,
                backColorDesc);

            ShadowProperties[nameof(BackColor)] = value;

            changeService.OnComponentChanged(
                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

Observações

As propriedades de um componente podem diferir das propriedades de uma classe, porque o site pode adicionar ou remover propriedades se o componente estiver localizado.

Se o component parâmetro for null, é devolvida uma coleção vazia.

A ordem da coleção devolvida não é garantida que seja idêntica entre chamadas, por isso ordene sempre antes de ser usada.

Ver também

Aplica-se a

GetProperties(Object, Attribute[])

Devolve a coleção de propriedades de um componente especificado usando um array especificado de atributos como filtro.

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

Um componente para obter as propriedades.

attributes
Attribute[]

Um array de tipos Attribute para usar como filtro.

Devoluções

A com as propriedades que correspondem PropertyDescriptorCollection aos atributos especificados para o componente especificado.

Exceções

component é um objeto remoto de processo cruzado.

Exemplos

O exemplo de código seguinte demonstra como implementar o GetProperties método. Este exemplo de código faz parte de um exemplo maior fornecido para a 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 PropertyDescriptorCollection GetProperties(object component, System.Attribute[] attributes)
{
    PropertyDescriptorCollection props = attributes == null ? TypeDescriptor.GetProperties(component) : 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 PropertyDescriptorCollection GetProperties(object component) => GetProperties(component, null);

Observações

As propriedades do component parâmetro podem diferir das propriedades de uma classe, porque o site pode adicionar ou remover propriedades se o component parâmetro estiver localizado.

O attributes array de parâmetros é usado para filtrar o array. A filtragem é definida pelas seguintes regras:

  • Se uma propriedade não tiver um Attribute da mesma classe, a propriedade não é incluída no array devolvido.

  • Se o atributo for uma instância da Attribute classe, a propriedade deve ser uma correspondência exata ou não está incluída no array devolvido.

  • Se uma Attribute instância for especificada e for a propriedade padrão, ela é incluída no array devolvido mesmo que não exista instância do Attribute na propriedade.

  • Se attributes tiver um atributo por defeito, o GetProperties método corresponde ao caso em que a propriedade não tem o atributo aplicado.

Se component for null, uma coleção vazia é devolvida.

A ordem da coleção devolvida não é garantida que seja idêntica entre chamadas, por isso ordene sempre antes de ser usada.

Ver também

Aplica-se a