TypeDescriptor.GetProperties Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
- 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
attributestiver 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
- PropertyDescriptor
- PropertyDescriptorCollection
- ICustomTypeDescriptor
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
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
- PropertyDescriptor
- PropertyDescriptorCollection
- ICustomTypeDescriptor
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
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
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
attributestiver 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
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
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
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
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
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
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
- Como: Aceder a Serviços de Design Time
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.
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
attributestiver 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
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents