Teilen über


TypeDescriptor.GetProperties Methode

Definition

Gibt die Auflistung von Eigenschaften für eine Komponente oder einen Typ zurück.

Überlädt

GetProperties(Object, Attribute[], Boolean)

Gibt die Auflistung der Eigenschaften für eine angegebene Komponente zurück. Hierbei wird ein angegebenes Array von Attributen als Filter sowie ein benutzerdefinierter Typdeskriptor verwendet.

GetProperties(Object, Boolean)

Gibt die Auflistung von Eigenschaften für eine angegebene Komponente zurück. Dazu wird der Standardtypdeskriptor verwendet.

GetProperties(Type, Attribute[])

Gibt die Auflistung der Eigenschaften für einen angegebenen Komponententyp zurück. Hierbei wird ein angegebenes Array von Attributen als Filter verwendet.

GetProperties(Type)

Gibt die Auflistung von Eigenschaften für einen angegebenen Komponententyp zurück.

GetProperties(Object)

Gibt die Auflistung von Eigenschaften für eine angegebene Komponente zurück.

GetProperties(Object, Attribute[])

Gibt die Auflistung der Eigenschaften für eine angegebene Komponente zurück. Hierbei wird ein angegebenes Array von Attributen als Filter verwendet.

GetProperties(Object, Attribute[], Boolean)

Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs

Gibt die Auflistung der Eigenschaften für eine angegebene Komponente zurück. Hierbei wird ein angegebenes Array von Attributen als Filter sowie ein benutzerdefinierter Typdeskriptor verwendet.

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

Parameter

component
Object

Eine Komponente, deren Eigenschaften abgerufen werden sollen.

attributes
Attribute[]

Ein Array des Typs Attribute, der als Filter verwendet werden soll.

noCustomTypeDesc
Boolean

true, um benutzerdefinierte Typbeschreibungsinformationen nicht zu berücksichtigen; anderenfalls false.

Gibt zurück

Ein PropertyDescriptorCollection mit den Ereignissen, die mit den angegebenen Attributen für die angegebene Komponente übereinstimmen.

Ausnahmen

component ist ein prozessübergreifendes Remoteobjekt.

Hinweise

Die Eigenschaften für eine component können sich von den Eigenschaften einer Klasse unterscheiden, da die Website Eigenschaften hinzufügen oder entfernen kann, wenn die component sited ist.

Das attributes Parameterarray wird verwendet, um das Array zu filtern. Filterung wird durch die folgenden Regeln definiert:

  • Wenn eine Eigenschaft nicht über eine Attribute der gleichen Klasse verfügt, ist die Eigenschaft nicht im zurückgegebenen Array enthalten.

  • Wenn das Attribut ein instance der Attribute -Klasse ist, muss die -Eigenschaft eine genaue Übereinstimmung sein, oder sie ist nicht im zurückgegebenen Array enthalten.

  • Wenn ein Attribute instance angegeben ist und es sich um die Standardeigenschaft handelt, wird sie in das zurückgegebene Array eingeschlossen, auch wenn keine instance der Attribute in der -Eigenschaft vorhanden ist.

  • Wenn attributes ein Standardattribute vorhanden ist, entspricht die GetProperties -Methode dem Fall, wenn das Attribut für die -Eigenschaft nicht angewendet wird.

Wenn der component Parameter ist null, wird eine leere Auflistung zurückgegeben.

Die Reihenfolge der zurückgegebenen Auflistung ist nicht garantiert, dass sie zwischen den Aufrufen identisch ist, daher immer vor der Verwendung bestellen.

Weitere Informationen

Gilt für:

GetProperties(Object, Boolean)

Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs

Gibt die Auflistung von Eigenschaften für eine angegebene Komponente zurück. Dazu wird der Standardtypdeskriptor verwendet.

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

Parameter

component
Object

Eine Komponente, deren Eigenschaften abgerufen werden sollen.

noCustomTypeDesc
Boolean

true, um benutzerdefinierte Typbeschreibungsinformationen nicht zu berücksichtigen; anderenfalls false.

Gibt zurück

Eine PropertyDescriptorCollection mit den Eigenschaften für eine angegebene Komponente.

Ausnahmen

component ist ein prozessübergreifendes Remoteobjekt.

Hinweise

Die Eigenschaften für den component Parameter können sich von den Eigenschaften einer Klasse unterscheiden, da die Website Eigenschaften hinzufügen oder entfernen kann, wenn der component Parameter standortd ist.

Wenn component ist null, wird eine leere Auflistung zurückgegeben.

Die Reihenfolge der zurückgegebenen Auflistung ist nicht garantiert, dass sie zwischen den Aufrufen identisch ist, daher immer vor der Verwendung bestellen.

Weitere Informationen

Gilt für:

GetProperties(Type, Attribute[])

Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs

Gibt die Auflistung der Eigenschaften für einen angegebenen Komponententyp zurück. Hierbei wird ein angegebenes Array von Attributen als Filter verwendet.

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

Parameter

componentType
Type

Der Type der Zielkomponente.

attributes
Attribute[]

Ein Array des Typs Attribute, der als Filter verwendet werden soll.

Gibt zurück

Ein PropertyDescriptorCollection mit den Eigenschaften, die mit den angegebenen Attributen für diesen Komponententyp übereinstimmen.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetProperties -Methode implementiert wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die PropertyTab-Klasse bereitgestellt wird.

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

Hinweise

Rufen Sie diese Version dieser Methode nur auf, wenn Sie nicht über eine instance des -Objekts verfügen.

Das attributes Parameterarray wird verwendet, um das Array zu filtern. Filterung wird durch die folgenden Regeln definiert:

  • Wenn eine Eigenschaft nicht über eine Attribute der gleichen Klasse verfügt, ist die Eigenschaft nicht im zurückgegebenen Array enthalten.

  • Wenn das Attribut ein instance der Attribute -Klasse ist, muss die -Eigenschaft eine genaue Übereinstimmung sein, oder sie ist nicht im zurückgegebenen Array enthalten.

  • Wenn ein Attribute instance angegeben ist und es sich um die Standardeigenschaft handelt, wird sie in das zurückgegebene Array eingeschlossen, auch wenn keine instance der Attribute in der -Eigenschaft vorhanden ist.

  • Wenn attributes ein Standardattribute vorhanden ist, entspricht die GetProperties -Methode dem Fall, wenn das Attribut für die -Eigenschaft nicht angewendet wird.

Wenn der componentType Parameter ist null, wird eine leere Auflistung zurückgegeben.

Die Reihenfolge der zurückgegebenen Auflistung ist nicht garantiert, dass sie zwischen den Aufrufen identisch ist, daher immer vor der Verwendung bestellen.

Weitere Informationen

Gilt für:

GetProperties(Type)

Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs

Gibt die Auflistung von Eigenschaften für einen angegebenen Komponententyp zurück.

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

Parameter

componentType
Type

Ein Type, der die Komponente darstellt, für die Eigenschaften abgerufen werden sollen.

Gibt zurück

Eine PropertyDescriptorCollection mit den Eigenschaften für einen angegebenen Komponententyp.

Hinweise

Rufen Sie diese Version dieser Methode nur auf, wenn Sie nicht über eine instance des -Objekts verfügen.

Wenn der componentType Parameter ist null, wird eine leere Auflistung zurückgegeben.

Die Reihenfolge der zurückgegebenen Auflistung ist nicht garantiert, dass sie zwischen den Aufrufen identisch ist, daher immer vor der Verwendung bestellen.

Weitere Informationen

Gilt für:

GetProperties(Object)

Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs

Gibt die Auflistung von Eigenschaften für eine angegebene Komponente zurück.

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

Parameter

component
Object

Eine Komponente, deren Eigenschaften abgerufen werden sollen.

Gibt zurück

Eine PropertyDescriptorCollection mit den Eigenschaften für die angegebene Komponente.

Ausnahmen

component ist ein prozessübergreifendes Remoteobjekt.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der GetProperties -Methode für den Zugriff auf die Eigenschaften eines Steuerelements veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ComponentDesigner-Klasse bereitgestellt wird.

// 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

Hinweise

Die Eigenschaften für eine Komponente können sich von den Eigenschaften einer Klasse unterscheiden, da die Website Eigenschaften hinzufügen oder entfernen kann, wenn die Komponente sited ist.

Wenn der component Parameter ist null, wird eine leere Auflistung zurückgegeben.

Die Reihenfolge der zurückgegebenen Auflistung ist nicht garantiert, dass sie zwischen den Aufrufen identisch ist, daher immer vor der Verwendung bestellen.

Weitere Informationen

Gilt für:

GetProperties(Object, Attribute[])

Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs
Quelle:
TypeDescriptor.cs

Gibt die Auflistung der Eigenschaften für eine angegebene Komponente zurück. Hierbei wird ein angegebenes Array von Attributen als Filter verwendet.

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

Parameter

component
Object

Eine Komponente, deren Eigenschaften abgerufen werden sollen.

attributes
Attribute[]

Ein Array des Typs Attribute, der als Filter verwendet werden soll.

Gibt zurück

Eine PropertyDescriptorCollection mit den Eigenschaften, die mit den angegebenen Attributen für die angegebene Komponente übereinstimmen.

Ausnahmen

component ist ein prozessübergreifendes Remoteobjekt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetProperties -Methode implementiert wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die PropertyTab-Klasse bereitgestellt wird.

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

Hinweise

Die Eigenschaften für den component Parameter können sich von den Eigenschaften einer Klasse unterscheiden, da die Website Eigenschaften hinzufügen oder entfernen kann, wenn der component Parameter standortd ist.

Das attributes Parameterarray wird verwendet, um das Array zu filtern. Filterung wird durch die folgenden Regeln definiert:

  • Wenn eine Eigenschaft nicht über eine Attribute der gleichen Klasse verfügt, ist die Eigenschaft nicht im zurückgegebenen Array enthalten.

  • Wenn das Attribut ein instance der Attribute -Klasse ist, muss die -Eigenschaft eine genaue Übereinstimmung sein, oder sie ist nicht im zurückgegebenen Array enthalten.

  • Wenn ein Attribute instance angegeben ist und es sich um die Standardeigenschaft handelt, wird sie in das zurückgegebene Array eingeschlossen, auch wenn keine instance der Attribute in der -Eigenschaft vorhanden ist.

  • Wenn attributes ein Standardattribute vorhanden ist, entspricht die GetProperties -Methode dem Fall, wenn das Attribut für die -Eigenschaft nicht angewendet wird.

Wenn component ist null, wird eine leere Auflistung zurückgegeben.

Die Reihenfolge der zurückgegebenen Auflistung ist nicht garantiert, dass sie zwischen den Aufrufen identisch ist, daher immer vor der Verwendung bestellen.

Weitere Informationen

Gilt für: