ExpandableObjectConverter.GetProperties Method

Definition

Gets a collection of properties for the type of object specified by the value parameter.

C#
public override System.ComponentModel.PropertyDescriptorCollection GetProperties (System.ComponentModel.ITypeDescriptorContext context, object value, Attribute[] attributes);
C#
public override System.ComponentModel.PropertyDescriptorCollection GetProperties (System.ComponentModel.ITypeDescriptorContext? context, object value, Attribute[]? attributes);

Parameters

context
ITypeDescriptorContext

An ITypeDescriptorContext that provides a format context.

value
Object

An Object that specifies the type of object to get the properties for.

attributes
Attribute[]

An array of type Attribute that will be used as a filter.

Returns

A PropertyDescriptorCollection with the properties that are exposed for the component, or null if there are no properties.

Remarks

The context parameter can be used to extract additional information about the environment this converter is being invoked from. This can be null, so always check. Also, properties on the context object can return null.

The attributes array will be used to filter the array. The attributes can have a mix of Type and Attribute objects. Filtering is defined by the following rules:

  • A Type object will be treated as a wildcard; it will match any property that has the Type in its set of attributes.

  • If a property does not have an Attribute of the same class, the property will not be included in the returned array.

  • If the attribute is an instance of Attribute, the property must be an exact match or it will not be included in the returned array.

  • If a Attribute instance is specified and it is the default property, it will be included in the returned array even if there is no instance of the Attribute in the property.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also