Прочитать на английском

Поделиться через


TypeDescriptor.GetProperties Метод

Определение

Возвращает коллекцию свойств для компонента или типа.

Перегрузки

GetProperties(Object, Attribute[], Boolean)

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра и пользовательский дескриптор типа.

GetProperties(Object, Boolean)

Возвращает коллекцию свойств для указанного компонента, используя дескриптор типа по умолчанию.

GetProperties(Type, Attribute[])

Возвращает коллекцию свойств для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.

GetProperties(Type)

Возвращает коллекцию свойств для указанного типа компонента.

GetProperties(Object)

Возвращает коллекцию свойств для указанного компонента.

GetProperties(Object, Attribute[])

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра.

GetProperties(Object, Attribute[], Boolean)

Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра и пользовательский дескриптор типа.

public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, Attribute[] attributes, bool noCustomTypeDesc);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, Attribute[]? attributes, bool noCustomTypeDesc);

Параметры

component
Object

Компонент, для которого требуется получить свойства.

attributes
Attribute[]

Массив типа Attribute, используемый как фильтр.

noCustomTypeDesc
Boolean

Значение true, чтобы настраиваемые сведения описания типа не учитывались; в противном случае — значение false.

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

Коллекция PropertyDescriptorCollection с событиями, совпадающими с указанными атрибутами для заданного компонента.

Исключения

Параметр component является межпроцессным удаленным объектом.

Комментарии

Свойства для component могут отличаться от свойств класса , так как сайт может добавлять или удалять свойства, component если сайт является сайтом.

Массив attributes параметров используется для фильтрации массива. Фильтрация определяется следующими правилами:

  • Если свойство не имеет Attribute одного класса, свойство не включается в возвращаемый массив.

  • Если атрибут является экземпляром Attribute класса , свойство должно быть точным совпадением или оно не включено в возвращаемый массив.

  • Attribute Если указан экземпляр и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве Attribute нет экземпляра .

  • Если attributes имеет атрибут по умолчанию, метод соответствует ситуации, GetProperties когда к свойству не применен атрибут .

component Если параметр имеет значение null, возвращается пустая коллекция.

Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, 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

GetProperties(Object, Boolean)

Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs

Возвращает коллекцию свойств для указанного компонента, используя дескриптор типа по умолчанию.

public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, bool noCustomTypeDesc);

Параметры

component
Object

Компонент, для которого требуется получить свойства.

noCustomTypeDesc
Boolean

Значение true, чтобы настраиваемые сведения описания типа не учитывались; в противном случае — значение false.

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

Коллекция PropertyDescriptorCollection со свойствами заданного компонента.

Исключения

Параметр component является межпроцессным удаленным объектом.

Комментарии

Свойства параметра component могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, component если параметр находится на сайте.

Если component имеет значение null, возвращается пустая коллекция.

Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, 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

GetProperties(Type, Attribute[])

Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs

Возвращает коллекцию свойств для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.

public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType, Attribute[] attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType, Attribute[]? attributes);

Параметры

componentType
Type

Тип Type целевого компонента.

attributes
Attribute[]

Массив типа Attribute, используемый как фильтр.

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

Коллекция PropertyDescriptorCollection со свойствами, соответствующими заданным атрибутам для данного типа компонента.

Примеры

В следующем примере кода показано, как реализовать GetProperties метод . Этот пример входит в состав более крупного примера использования класса PropertyTab.

// 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);
}

Комментарии

Вызывайте эту версию этого метода, только если у вас нет экземпляра объекта .

Массив attributes параметров используется для фильтрации массива. Фильтрация определяется следующими правилами:

  • Если свойство не имеет Attribute одного класса, свойство не включается в возвращаемый массив.

  • Если атрибут является экземпляром Attribute класса , свойство должно быть точным совпадением или оно не включено в возвращаемый массив.

  • Attribute Если указан экземпляр и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве Attribute нет экземпляра .

  • Если attributes имеет атрибут по умолчанию, метод соответствует ситуации, GetProperties когда к свойству не применен атрибут .

componentType Если параметр имеет значение null, возвращается пустая коллекция.

Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, 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

GetProperties(Type)

Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs

Возвращает коллекцию свойств для указанного типа компонента.

public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType);

Параметры

componentType
Type

Тип Type, представляющий компонент, свойства для которого нужно получить.

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

Коллекция PropertyDescriptorCollection, содержащая свойства для заданного типа компонента.

Комментарии

Вызывайте эту версию этого метода, только если у вас нет экземпляра объекта .

componentType Если параметр имеет значение null, возвращается пустая коллекция.

Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, 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

GetProperties(Object)

Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs

Возвращает коллекцию свойств для указанного компонента.

public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component);

Параметры

component
Object

Компонент, для которого требуется получить свойства.

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

Коллекция PropertyDescriptorCollection со свойствами данного компонента.

Исключения

Параметр component является межпроцессным удаленным объектом.

Примеры

В следующем примере кода демонстрируется использование метода для GetProperties доступа к свойствам элемента управления . Этот пример входит в состав более крупного примера использования класса ComponentDesigner.

// 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);
        }
    }
}

Комментарии

Свойства компонента могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, если компонент находится на сайте.

component Если параметр имеет значение null, возвращается пустая коллекция.

Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, 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

GetProperties(Object, Attribute[])

Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs
Исходный код:
TypeDescriptor.cs

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра.

public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, Attribute[] attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, Attribute[]? attributes);

Параметры

component
Object

Компонент, для которого требуется получить свойства.

attributes
Attribute[]

Массив типа Attribute, используемый как фильтр.

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

Коллекция PropertyDescriptorCollection со свойствами, соответствующими заданным атрибутам для заданного компонента.

Исключения

Параметр component является межпроцессным удаленным объектом.

Примеры

В следующем примере кода показано, как реализовать GetProperties метод . Этот пример входит в состав более крупного примера использования класса PropertyTab.

// 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);
}

Комментарии

Свойства параметра component могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, component если параметр находится на сайте.

Массив attributes параметров используется для фильтрации массива. Фильтрация определяется следующими правилами:

  • Если свойство не имеет Attribute одного класса, свойство не включается в возвращаемый массив.

  • Если атрибут является экземпляром Attribute класса , свойство должно быть точным совпадением или оно не включено в возвращаемый массив.

  • Attribute Если указан экземпляр и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве Attribute нет экземпляра .

  • Если attributes имеет атрибут по умолчанию, метод соответствует ситуации, GetProperties когда к свойству не применен атрибут .

Если component имеет значение null, возвращается пустая коллекция.

Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, 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