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(System::Object ^ component, cli::array <Attribute ^> ^ attributes, bool noCustomTypeDesc);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, 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
Компонент, для которого требуется получить свойства.
- noCustomTypeDesc
- Boolean
Значение true
, чтобы настраиваемые сведения описания типа не учитывались; в противном случае — значение false
.
Возвращаемое значение
Коллекция PropertyDescriptorCollection с событиями, совпадающими с указанными атрибутами для заданного компонента.
Исключения
Параметр component
является межпроцессным удаленным объектом.
Комментарии
Свойства для component
могут отличаться от свойств класса , так как сайт может добавлять или удалять свойства, component
если сайт является сайтом.
Массив attributes
параметров используется для фильтрации массива. Фильтрация определяется следующими правилами:
Если свойство не имеет Attribute одного класса, свойство не включается в возвращаемый массив.
Если атрибут является экземпляром Attribute класса , свойство должно быть точным совпадением или оно не включено в возвращаемый массив.
Attribute Если указан экземпляр и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве Attribute нет экземпляра .
Если
attributes
имеет атрибут по умолчанию, метод соответствует ситуации, GetProperties когда к свойству не применен атрибут .
component
Если параметр имеет значение null
, возвращается пустая коллекция.
Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.
См. также раздел
- PropertyDescriptor
- PropertyDescriptorCollection
- ICustomTypeDescriptor
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Применяется к
GetProperties(Object, Boolean)
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
Возвращает коллекцию свойств для указанного компонента, используя дескриптор типа по умолчанию.
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
Компонент, для которого требуется получить свойства.
- noCustomTypeDesc
- Boolean
Значение true
, чтобы настраиваемые сведения описания типа не учитывались; в противном случае — значение false
.
Возвращаемое значение
Коллекция PropertyDescriptorCollection со свойствами заданного компонента.
Исключения
Параметр component
является межпроцессным удаленным объектом.
Комментарии
Свойства параметра component
могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, component
если параметр находится на сайте.
Если component
имеет значение null
, возвращается пустая коллекция.
Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.
См. также раздел
- PropertyDescriptor
- PropertyDescriptorCollection
- ICustomTypeDescriptor
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Применяется к
GetProperties(Type, Attribute[])
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
Возвращает коллекцию свойств для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(Type ^ componentType, cli::array <Attribute ^> ^ attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (Type componentType, 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
Параметры
Возвращаемое значение
Коллекция PropertyDescriptorCollection со свойствами, соответствующими заданным атрибутам для данного типа компонента.
Примеры
В следующем примере кода показано, как реализовать GetProperties метод . Этот пример входит в состав более крупного примера использования класса PropertyTab.
// 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);
}
Комментарии
Вызывайте эту версию этого метода, только если у вас нет экземпляра объекта .
Массив attributes
параметров используется для фильтрации массива. Фильтрация определяется следующими правилами:
Если свойство не имеет Attribute одного класса, свойство не включается в возвращаемый массив.
Если атрибут является экземпляром Attribute класса , свойство должно быть точным совпадением или оно не включено в возвращаемый массив.
Attribute Если указан экземпляр и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве Attribute нет экземпляра .
Если
attributes
имеет атрибут по умолчанию, метод соответствует ситуации, GetProperties когда к свойству не применен атрибут .
componentType
Если параметр имеет значение null
, возвращается пустая коллекция.
Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.
См. также раздел
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Применяется к
GetProperties(Type)
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
Возвращает коллекцию свойств для указанного типа компонента.
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
Параметры
Возвращаемое значение
Коллекция PropertyDescriptorCollection, содержащая свойства для заданного типа компонента.
Комментарии
Вызывайте эту версию этого метода, только если у вас нет экземпляра объекта .
componentType
Если параметр имеет значение null
, возвращается пустая коллекция.
Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.
См. также раздел
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Применяется к
GetProperties(Object)
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
Возвращает коллекцию свойств для указанного компонента.
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
Компонент, для которого требуется получить свойства.
Возвращаемое значение
Коллекция 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);
}
}
}
' 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
Комментарии
Свойства компонента могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, если компонент находится на сайте.
component
Если параметр имеет значение null
, возвращается пустая коллекция.
Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.
См. также раздел
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
- Практическое руководство. Доступ к службам времени разработки
Применяется к
GetProperties(Object, Attribute[])
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, cli::array <Attribute ^> ^ attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties (object component, 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
Компонент, для которого требуется получить свойства.
Возвращаемое значение
Коллекция PropertyDescriptorCollection со свойствами, соответствующими заданным атрибутам для заданного компонента.
Исключения
Параметр component
является межпроцессным удаленным объектом.
Примеры
В следующем примере кода показано, как реализовать GetProperties метод . Этот пример входит в состав более крупного примера использования класса PropertyTab.
// 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);
}
Комментарии
Свойства параметра component
могут отличаться от свойств класса, так как сайт может добавлять или удалять свойства, component
если параметр находится на сайте.
Массив attributes
параметров используется для фильтрации массива. Фильтрация определяется следующими правилами:
Если свойство не имеет Attribute одного класса, свойство не включается в возвращаемый массив.
Если атрибут является экземпляром Attribute класса , свойство должно быть точным совпадением или оно не включено в возвращаемый массив.
Attribute Если указан экземпляр и является свойством по умолчанию, он включается в возвращаемый массив, даже если в свойстве Attribute нет экземпляра .
Если
attributes
имеет атрибут по умолчанию, метод соответствует ситуации, GetProperties когда к свойству не применен атрибут .
Если component
имеет значение null
, возвращается пустая коллекция.
Порядок возвращаемой коллекции не гарантируется одинаковым между вызовами, поэтому всегда упорядочивать ее перед использованием.
См. также раздел
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents