TypeDescriptor.GetProperties Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca kolekcję właściwości w składniku lub typie.
Przeciążenia
| Nazwa | Opis |
|---|---|
| GetProperties(Object) |
Zwraca kolekcję właściwości dla określonego składnika. |
| GetProperties(Type) |
Zwraca kolekcję właściwości dla określonego typu składnika. |
| GetProperties(Object, Attribute[]) |
Zwraca kolekcję właściwości dla określonego składnika przy użyciu określonej tablicy atrybutów jako filtru. |
| GetProperties(Object, Boolean) |
Zwraca kolekcję właściwości dla określonego składnika przy użyciu deskryptora domyślnego typu. |
| GetProperties(Type, Attribute[]) |
Zwraca kolekcję właściwości określonego typu składnika przy użyciu określonej tablicy atrybutów jako filtru. |
| GetProperties(Object, Attribute[], Boolean) |
Zwraca kolekcję właściwości dla określonego składnika przy użyciu określonej tablicy atrybutów jako filtru i przy użyciu deskryptora niestandardowego typu. |
GetProperties(Object)
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Zwraca kolekcję właściwości dla określonego składnika.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered.")]
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered.")>]
static member GetProperties : obj -> System.ComponentModel.PropertyDescriptorCollection
static member GetProperties : obj -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object) As PropertyDescriptorCollection
Parametry
- component
- Object
Składnik, dla którego mają być uzyskiwane właściwości.
Zwraca
Element PropertyDescriptorCollection z właściwościami określonego składnika.
- Atrybuty
Wyjątki
component jest obiektem zdalnym procesu krzyżowego.
Przykłady
W poniższym przykładzie kodu pokazano użycie GetProperties metody w celu uzyskania dostępu do właściwości kontrolki. Ten przykład kodu jest częścią większego przykładu udostępnionego dla klasy 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 => (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
Uwagi
Właściwości składnika mogą różnić się od właściwości klasy, ponieważ witryna może dodawać lub usuwać właściwości, jeśli składnik jest lokacji.
component Jeśli parametr ma nullwartość , zwracana jest pusta kolekcja.
Kolejność zwróconej kolekcji nie ma gwarancji, że jest taka sama między wywołaniami, więc zawsze porządkuj ją przed użyciem.
Zobacz też
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Dotyczy
GetProperties(Type)
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Zwraca kolekcję właściwości dla określonego typu składnika.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(Type ^ componentType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered.")]
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(Type componentType);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(Type componentType);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered.")>]
static member GetProperties : Type -> System.ComponentModel.PropertyDescriptorCollection
static member GetProperties : Type -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (componentType As Type) As PropertyDescriptorCollection
Parametry
- componentType
- Type
Element Type reprezentujący składnik, dla którego mają być uzyskiwane właściwości.
Zwraca
Element PropertyDescriptorCollection z właściwościami określonego typu składnika.
- Atrybuty
Uwagi
Wywołaj tę wersję tej metody tylko wtedy, gdy nie masz wystąpienia obiektu.
componentType Jeśli parametr ma nullwartość , zwracana jest pusta kolekcja.
Kolejność zwróconej kolekcji nie ma gwarancji, że jest taka sama między wywołaniami, więc zawsze porządkuj ją przed użyciem.
Zobacz też
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Dotyczy
GetProperties(Object, Attribute[])
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Zwraca kolekcję właściwości dla określonego składnika przy użyciu określonej tablicy atrybutów jako filtru.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, cli::array <Attribute ^> ^ attributes);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")]
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, Attribute[]? attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, Attribute[] attributes);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")>]
static member GetProperties : obj * Attribute[] -> System.ComponentModel.PropertyDescriptorCollection
static member GetProperties : obj * Attribute[] -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object, attributes As Attribute()) As PropertyDescriptorCollection
Parametry
- component
- Object
Składnik, dla którego mają być uzyskiwane właściwości.
Zwraca
Element PropertyDescriptorCollection z właściwościami zgodnymi z określonymi atrybutami określonego składnika.
- Atrybuty
Wyjątki
component jest obiektem zdalnym procesu krzyżowego.
Przykłady
W poniższym przykładzie kodu pokazano, jak zaimplementować metodę GetProperties . Ten przykład kodu jest częścią większego przykładu udostępnionego dla klasy 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 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);
Uwagi
Właściwości parametru component mogą różnić się od właściwości klasy, ponieważ witryna może dodawać lub usuwać właściwości, jeśli component parametr jest lokacji.
Tablica attributes parametrów służy do filtrowania tablicy. Filtrowanie jest definiowane przez następujące reguły:
Jeśli właściwość nie ma Attribute tej samej klasy, właściwość nie jest uwzględniona w zwracanej tablicy.
Jeśli atrybut jest wystąpieniem Attribute klasy, właściwość musi być dokładnie zgodna lub nie jest uwzględniona w zwracanej tablicy.
Attribute Jeśli wystąpienie jest określone i jest to właściwość domyślna, jest uwzględniana w zwracanej tablicy, nawet jeśli w właściwości nie ma żadnego wystąpieniaAttribute.
Jeśli
attributesma atrybut domyślny, metoda pasuje do wielkości liter, GetProperties gdy właściwość nie ma zastosowanego atrybutu.
Jeśli component wartość to null, zwracana jest pusta kolekcja.
Kolejność zwróconej kolekcji nie ma gwarancji, że jest taka sama między wywołaniami, więc zawsze porządkuj ją przed użyciem.
Zobacz też
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Dotyczy
GetProperties(Object, Boolean)
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Zwraca kolekcję właściwości dla określonego składnika przy użyciu deskryptora domyślnego typu.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, bool noCustomTypeDesc);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered.")]
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, bool noCustomTypeDesc);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, bool noCustomTypeDesc);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered.")>]
static member GetProperties : obj * bool -> System.ComponentModel.PropertyDescriptorCollection
static member GetProperties : obj * bool -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object, noCustomTypeDesc As Boolean) As PropertyDescriptorCollection
Parametry
- component
- Object
Składnik, dla którego mają być uzyskiwane właściwości.
- noCustomTypeDesc
- Boolean
true aby nie brać pod uwagę informacji o opisie typu niestandardowego; w przeciwnym razie, false.
Zwraca
Element PropertyDescriptorCollection z właściwościami określonego składnika.
- Atrybuty
Wyjątki
component jest obiektem zdalnym procesu krzyżowego.
Uwagi
Właściwości parametru component mogą różnić się od właściwości klasy, ponieważ witryna może dodawać lub usuwać właściwości, jeśli component parametr jest lokacji.
Jeśli component wartość to null, zwracana jest pusta kolekcja.
Kolejność zwróconej kolekcji nie ma gwarancji, że jest taka sama między wywołaniami, więc zawsze porządkuj ją przed użyciem.
Zobacz też
- PropertyDescriptor
- PropertyDescriptorCollection
- ICustomTypeDescriptor
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Dotyczy
GetProperties(Type, Attribute[])
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Zwraca kolekcję właściwości określonego typu składnika przy użyciu określonej tablicy atrybutów jako filtru.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(Type ^ componentType, cli::array <Attribute ^> ^ attributes);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")]
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(Type componentType, Attribute[]? attributes);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(Type componentType, Attribute[] attributes);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")>]
static member GetProperties : Type * Attribute[] -> System.ComponentModel.PropertyDescriptorCollection
static member GetProperties : Type * Attribute[] -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (componentType As Type, attributes As Attribute()) As PropertyDescriptorCollection
Parametry
Zwraca
Element PropertyDescriptorCollection z właściwościami zgodnymi z określonymi atrybutami dla tego typu składnika.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak zaimplementować metodę GetProperties . Ten przykład kodu jest częścią większego przykładu udostępnionego dla klasy 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 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);
Uwagi
Wywołaj tę wersję tej metody tylko wtedy, gdy nie masz wystąpienia obiektu.
Tablica attributes parametrów służy do filtrowania tablicy. Filtrowanie jest definiowane przez następujące reguły:
Jeśli właściwość nie ma Attribute tej samej klasy, właściwość nie jest uwzględniona w zwracanej tablicy.
Jeśli atrybut jest wystąpieniem Attribute klasy, właściwość musi być dokładnie zgodna lub nie jest uwzględniona w zwracanej tablicy.
Attribute Jeśli wystąpienie jest określone i jest to właściwość domyślna, jest uwzględniana w zwracanej tablicy, nawet jeśli w właściwości nie ma żadnego wystąpieniaAttribute.
Jeśli
attributesma atrybut domyślny, metoda pasuje do wielkości liter, GetProperties gdy właściwość nie ma zastosowanego atrybutu.
componentType Jeśli parametr ma nullwartość , zwracana jest pusta kolekcja.
Kolejność zwróconej kolekcji nie ma gwarancji, że jest taka sama między wywołaniami, więc zawsze porządkuj ją przed użyciem.
Zobacz też
- PropertyDescriptor
- PropertyDescriptorCollection
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents
Dotyczy
GetProperties(Object, Attribute[], Boolean)
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
- Źródło:
- TypeDescriptor.cs
Zwraca kolekcję właściwości dla określonego składnika przy użyciu określonej tablicy atrybutów jako filtru i przy użyciu deskryptora niestandardowego typu.
public:
static System::ComponentModel::PropertyDescriptorCollection ^ GetProperties(System::Object ^ component, cli::array <Attribute ^> ^ attributes, bool noCustomTypeDesc);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")]
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, Attribute[]? attributes, bool noCustomTypeDesc);
public static System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, Attribute[] attributes, bool noCustomTypeDesc);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("PropertyDescriptor's PropertyType cannot be statically discovered. The Type of component cannot be statically discovered. The public parameterless constructor or the 'Default' static field may be trimmed from the Attribute's Type.")>]
static member GetProperties : obj * Attribute[] * bool -> System.ComponentModel.PropertyDescriptorCollection
static member GetProperties : obj * Attribute[] * bool -> System.ComponentModel.PropertyDescriptorCollection
Public Shared Function GetProperties (component As Object, attributes As Attribute(), noCustomTypeDesc As Boolean) As PropertyDescriptorCollection
Parametry
- component
- Object
Składnik, dla którego mają być uzyskiwane właściwości.
- noCustomTypeDesc
- Boolean
true aby nie brać pod uwagę informacji o opisie typu niestandardowego; w przeciwnym razie, false.
Zwraca
Element PropertyDescriptorCollection ze zdarzeniami zgodnymi z określonymi atrybutami określonego składnika.
- Atrybuty
Wyjątki
component jest obiektem zdalnym procesu krzyżowego.
Uwagi
Właściwości klasy component mogą się różnić od właściwości klasy, ponieważ witryna może dodawać lub usuwać właściwości, jeśli component obiekt jest lokacją.
Tablica attributes parametrów służy do filtrowania tablicy. Filtrowanie jest definiowane przez następujące reguły:
Jeśli właściwość nie ma Attribute tej samej klasy, właściwość nie jest uwzględniona w zwracanej tablicy.
Jeśli atrybut jest wystąpieniem Attribute klasy, właściwość musi być dokładnie zgodna lub nie jest uwzględniona w zwracanej tablicy.
Attribute Jeśli wystąpienie jest określone i jest to właściwość domyślna, jest uwzględniana w zwracanej tablicy, nawet jeśli w właściwości nie ma żadnego wystąpieniaAttribute.
Jeśli
attributesma atrybut domyślny, metoda pasuje do wielkości liter, GetProperties gdy właściwość nie ma zastosowanego atrybutu.
component Jeśli parametr ma nullwartość , zwracana jest pusta kolekcja.
Kolejność zwróconej kolekcji nie ma gwarancji, że jest taka sama między wywołaniami, więc zawsze porządkuj ją przed użyciem.
Zobacz też
- PropertyDescriptor
- PropertyDescriptorCollection
- ICustomTypeDescriptor
- GetProperties
- GetDefaultProperty
- CreateProperty
- GetAttributes
- GetEvents