TypeDescriptor.GetProperties Метод

Определение

Возвращает коллекцию свойств для компонента или типа.Returns the collection of properties on a component or type.

Перегрузки

GetProperties(Object, Attribute[], Boolean)

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра и пользовательский дескриптор типа.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)

Возвращает коллекцию свойств для указанного компонента, используя дескриптор типа по умолчанию.Returns the collection of properties for a specified component using the default type descriptor.

GetProperties(Type, Attribute[])

Возвращает коллекцию свойств для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.Returns the collection of properties for a specified type of component using a specified array of attributes as a filter.

GetProperties(Type)

Возвращает коллекцию свойств для указанного типа компонента.Returns the collection of properties for a specified type of component.

GetProperties(Object)

Возвращает коллекцию свойств для указанного компонента.Returns the collection of properties for a specified component.

GetProperties(Object, Attribute[])

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра.Returns the collection of properties for a specified component using a specified array of attributes as a filter.

GetProperties(Object, Attribute[], Boolean)

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра и пользовательский дескриптор типа.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

Параметры

component
Object

Компонент, для которого требуется получить свойства.A component to get the properties for.

attributes
Attribute[]

Массив типа Attribute, используемый как фильтр.An array of type Attribute to use as a filter.

noCustomTypeDesc
Boolean

Значение true для учета настраиваемых сведений описания типа; в противном случае — значение false.true to consider custom type description information; otherwise, false.

Возвращаемое значение

Коллекция PropertyDescriptorCollection с событиями, совпадающими с указанными атрибутами для заданного компонента.A PropertyDescriptorCollection with the events that match the specified attributes for the specified component.

Исключения

Параметр component является межпроцессным удаленным объектом.component is a cross-process remoted object.

Комментарии

Свойства component могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, если component размещается на сайте.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.

Массив параметров attributes используется для фильтрации массива.The attributes parameter array is used to filter the array. Фильтрация определяется следующими правилами.Filtering is defined by the following rules:

  • Если свойство не имеет Attribute одного и того же класса, это свойство не включается в возвращаемый массив.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Если атрибут является экземпляром класса Attribute, свойство должно быть точным соответствием или не включено в возвращаемый массив.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.

  • Если экземпляр Attribute указан и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве нет экземпляра Attribute.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.

  • Если attributes имеет атрибут по умолчанию, метод GetProperties соответствует регистру, если для свойства не применен атрибут.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Если параметр component имеет значение null, возвращается пустая коллекция.If the component parameter is null, an empty collection is returned.

Порядок возвращаемой коллекции не гарантирует идентичность между вызовами, поэтому перед использованием следует всегда упорядочивать его.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Дополнительно

GetProperties(Object, Boolean)

Возвращает коллекцию свойств для указанного компонента, используя дескриптор типа по умолчанию.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

Параметры

component
Object

Компонент, для которого требуется получить свойства.A component to get the properties for.

noCustomTypeDesc
Boolean

Значение true, чтобы настраиваемые сведения описания типа не учитывались; в противном случае — значение false.true to not consider custom type description information; otherwise, false.

Возвращаемое значение

Коллекция PropertyDescriptorCollection со свойствами заданного компонента.A PropertyDescriptorCollection with the properties for a specified component.

Исключения

Параметр component является межпроцессным удаленным объектом.component is a cross-process remoted object.

Комментарии

Свойства параметра component могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, если параметр component является узлом.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.

Если component null, возвращается пустая коллекция.If component is null, an empty collection is returned.

Порядок возвращаемой коллекции не гарантирует идентичность между вызовами, поэтому перед использованием следует всегда упорядочивать его.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Дополнительно

GetProperties(Type, Attribute[])

Возвращает коллекцию свойств для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.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

Параметры

componentType
Type

Тип Type целевого компонента.The Type of the target component.

attributes
Attribute[]

Массив типа Attribute, используемый как фильтр.An array of type Attribute to use as a filter.

Возвращаемое значение

Коллекция PropertyDescriptorCollection со свойствами, соответствующими заданным атрибутам для данного типа компонента.A PropertyDescriptorCollection with the properties that match the specified attributes for this type of component.

Примеры

В следующем примере кода показано, как реализовать метод GetProperties.The following code example demonstrates how to implement the GetProperties method. Этот пример кода является частью большого примера, приведенного для класса 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

Комментарии

Вызывайте эту версию этого метода только в том случае, если у вас нет экземпляра объекта.Call this version of this method only when you do not have an instance of the object.

Массив параметров attributes используется для фильтрации массива.The attributes parameter array is used to filter the array. Фильтрация определяется следующими правилами.Filtering is defined by the following rules:

  • Если свойство не имеет Attribute одного и того же класса, это свойство не включается в возвращаемый массив.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Если атрибут является экземпляром класса Attribute, свойство должно быть точным соответствием или не включено в возвращаемый массив.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.

  • Если экземпляр Attribute указан и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве нет экземпляра Attribute.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.

  • Если attributes имеет атрибут по умолчанию, метод GetProperties соответствует регистру, если для свойства не применен атрибут.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Если параметр componentType имеет значение null, возвращается пустая коллекция.If the componentType parameter is null, an empty collection is returned.

Порядок возвращаемой коллекции не гарантирует идентичность между вызовами, поэтому перед использованием следует всегда упорядочивать его.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Дополнительно

GetProperties(Type)

Возвращает коллекцию свойств для указанного типа компонента.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

Параметры

componentType
Type

Тип Type, представляющий компонент, свойства для которого нужно получить.A Type that represents the component to get properties for.

Возвращаемое значение

Коллекция PropertyDescriptorCollection, содержащая свойства для заданного типа компонента.A PropertyDescriptorCollection with the properties for a specified type of component.

Комментарии

Вызывайте эту версию этого метода только в том случае, если у вас нет экземпляра объекта.Call this version of this method only when you do not have an instance of the object.

Если параметр componentType имеет значение null, возвращается пустая коллекция.If the componentType parameter is null, an empty collection is returned.

Порядок возвращаемой коллекции не гарантирует идентичность между вызовами, поэтому перед использованием следует всегда упорядочивать его.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Дополнительно

GetProperties(Object)

Возвращает коллекцию свойств для указанного компонента.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

Параметры

component
Object

Компонент, для которого требуется получить свойства.A component to get the properties for.

Возвращаемое значение

Коллекция PropertyDescriptorCollection со свойствами данного компонента.A PropertyDescriptorCollection with the properties for the specified component.

Исключения

Параметр component является межпроцессным удаленным объектом.component is a cross-process remoted object.

Примеры

В следующем примере кода показано использование метода GetProperties для доступа к свойствам элемента управления.The following code example demonstrates the use of the GetProperties method to access the properties of a control. Этот пример кода является частью большого примера, приведенного для класса 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

Комментарии

Свойства компонента могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, если компонент является узлом.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.

Если параметр component имеет значение null, возвращается пустая коллекция.If the component parameter is null, an empty collection is returned.

Порядок возвращаемой коллекции не гарантирует идентичность между вызовами, поэтому перед использованием следует всегда упорядочивать его.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Дополнительно

GetProperties(Object, Attribute[])

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра.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

Параметры

component
Object

Компонент, для которого требуется получить свойства.A component to get the properties for.

attributes
Attribute[]

Массив типа Attribute, используемый как фильтр.An array of type Attribute to use as a filter.

Возвращаемое значение

Коллекция PropertyDescriptorCollection со свойствами, соответствующими заданным атрибутам для заданного компонента.A PropertyDescriptorCollection with the properties that match the specified attributes for the specified component.

Исключения

Параметр component является межпроцессным удаленным объектом.component is a cross-process remoted object.

Примеры

В следующем примере кода показано, как реализовать метод GetProperties.The following code example demonstrates how to implement the GetProperties method. Этот пример кода является частью большого примера, приведенного для класса 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

Комментарии

Свойства параметра component могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, если параметр component является узлом.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.

Массив параметров attributes используется для фильтрации массива.The attributes parameter array is used to filter the array. Фильтрация определяется следующими правилами.Filtering is defined by the following rules:

  • Если свойство не имеет Attribute одного и того же класса, это свойство не включается в возвращаемый массив.If a property does not have an Attribute of the same class, the property is not included in the returned array.

  • Если атрибут является экземпляром класса Attribute, свойство должно быть точным соответствием или не включено в возвращаемый массив.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.

  • Если экземпляр Attribute указан и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве нет экземпляра Attribute.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.

  • Если attributes имеет атрибут по умолчанию, метод GetProperties соответствует регистру, если для свойства не применен атрибут.If attributes has a default attribute, the GetProperties method matches the case when the property does not have the attribute applied.

Если component null, возвращается пустая коллекция.If component is null, an empty collection is returned.

Порядок возвращаемой коллекции не гарантирует идентичность между вызовами, поэтому перед использованием следует всегда упорядочивать его.The order of the returned collection is not guaranteed to be identical between calls, so always order it before use.

Дополнительно

Применяется к