Sdílet prostřednictvím


TypeDescriptor.GetProperties Metoda

Definice

Vrátí kolekci vlastností komponenty nebo typu.

Přetížení

GetProperties(Object, Attribute[], Boolean)

Vrátí kolekci vlastností pro zadanou komponentu s použitím zadaného pole atributů jako filtru a pomocí popisovače vlastního typu.

GetProperties(Object, Boolean)

Vrátí kolekci vlastností pro zadanou komponentu pomocí výchozího popisovače typu.

GetProperties(Type, Attribute[])

Vrátí kolekci vlastností pro zadaný typ komponenty pomocí zadané pole atributů jako filtru.

GetProperties(Type)

Vrátí kolekci vlastností pro zadaný typ komponenty.

GetProperties(Object)

Vrátí kolekci vlastností pro zadanou komponentu.

GetProperties(Object, Attribute[])

Vrátí kolekci vlastností pro zadanou komponentu pomocí zadaného pole atributů jako filtru.

GetProperties(Object, Attribute[], Boolean)

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Vrátí kolekci vlastností pro zadanou komponentu s použitím zadaného pole atributů jako filtru a pomocí popisovače vlastního typu.

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

Parametry

component
Object

Komponenta, pro která chcete získat vlastnosti.

attributes
Attribute[]

Pole typu Attribute , které se má použít jako filtr.

noCustomTypeDesc
Boolean

truenebere v úvahu informace o popisu vlastního typu; v opačném případě . false

Návraty

A PropertyDescriptorCollection s událostmi, které odpovídají zadaným atributům pro zadanou komponentu.

Výjimky

component je objekt vzdáleného meziprocesu.

Poznámky

Vlastnosti objektu component se mohou lišit od vlastností třídy, protože web může přidat nebo odebrat vlastnosti, pokud component je sited.

Pole attributes parametrů se používá k filtrování pole. Filtrování je definováno následujícími pravidly:

  • Pokud vlastnost nemá stejnou Attribute třídu, vlastnost není zahrnuta do vráceného pole.

  • Pokud je atribut instance Attribute třídy, vlastnost musí být přesná shoda nebo není zahrnuta ve vrácené matici.

  • Pokud je zadána Attribute instance a jedná se o výchozí vlastnost, je zahrnuta do vráceného pole i v případě, že ve vlastnosti není žádná instance objektu Attribute .

  • Pokud attributes má výchozí atribut, GetProperties metoda odpovídá případu, kdy vlastnost nemá atribut použitý.

component Pokud je nullparametr , vrátí se prázdná kolekce.

Pořadí vrácených kolekcí není zaručeno, že bude mezi jednotlivými voláními identické, takže ji před použitím vždy objednejte.

Viz také

Platí pro

GetProperties(Object, Boolean)

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Vrátí kolekci vlastností pro zadanou komponentu pomocí výchozího popisovače typu.

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

Parametry

component
Object

Komponenta, pro která chcete získat vlastnosti.

noCustomTypeDesc
Boolean

truenebere v úvahu informace o popisu vlastního typu; v opačném případě . false

Návraty

A PropertyDescriptorCollection s vlastnostmi pro zadanou komponentu.

Výjimky

component je objekt vzdáleného meziprocesu.

Poznámky

Vlastnosti parametru component se mohou lišit od vlastností třídy, protože web může přidat nebo odebrat vlastnosti, pokud component je parametr v lokalitě.

Pokud component je null, vrátí se prázdná kolekce.

Pořadí vrácených kolekcí není zaručeno, že bude mezi jednotlivými voláními identické, takže ji před použitím vždy objednejte.

Viz také

Platí pro

GetProperties(Type, Attribute[])

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Vrátí kolekci vlastností pro zadaný typ komponenty pomocí zadané pole atributů jako filtru.

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

Parametry

componentType
Type

Cílová Type komponenta.

attributes
Attribute[]

Pole typu Attribute , které se má použít jako filtr.

Návraty

A PropertyDescriptorCollection s vlastnostmi, které odpovídají zadaným atributům pro tento typ komponenty.

Příklady

Následující příklad kódu ukazuje, jak implementovat metodu GetProperties . Tento příklad kódu je součástí většího příkladu PropertyTab pro třídu.

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

Poznámky

Tuto verzi této metody volejte pouze v případě, že nemáte instanci objektu.

Pole attributes parametrů se používá k filtrování pole. Filtrování je definováno následujícími pravidly:

  • Pokud vlastnost nemá stejnou Attribute třídu, vlastnost není zahrnuta do vráceného pole.

  • Pokud je atribut instance Attribute třídy, vlastnost musí být přesná shoda nebo není zahrnuta ve vrácené matici.

  • Pokud je zadána Attribute instance a jedná se o výchozí vlastnost, je zahrnuta do vráceného pole i v případě, že ve vlastnosti není žádná instance objektu Attribute .

  • Pokud attributes má výchozí atribut, GetProperties metoda odpovídá případu, kdy vlastnost nemá atribut použitý.

componentType Pokud je nullparametr , vrátí se prázdná kolekce.

Pořadí vrácených kolekcí není zaručeno, že bude mezi jednotlivými voláními identické, takže ji před použitím vždy objednejte.

Viz také

Platí pro

GetProperties(Type)

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Vrátí kolekci vlastností pro zadaný typ komponenty.

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

Parametry

componentType
Type

A Type , který představuje komponentu, pro kterou chcete získat vlastnosti.

Návraty

A PropertyDescriptorCollection s vlastnostmi pro zadaný typ komponenty.

Poznámky

Tuto verzi této metody volejte pouze v případě, že nemáte instanci objektu.

componentType Pokud je nullparametr , vrátí se prázdná kolekce.

Pořadí vrácených kolekcí není zaručeno, že bude mezi jednotlivými voláními identické, takže ji před použitím vždy objednejte.

Viz také

Platí pro

GetProperties(Object)

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Vrátí kolekci vlastností pro zadanou komponentu.

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

Parametry

component
Object

Komponenta, pro která chcete získat vlastnosti.

Návraty

A PropertyDescriptorCollection s vlastnostmi pro zadanou komponentu.

Výjimky

component je objekt vzdáleného meziprocesu.

Příklady

Následující příklad kódu ukazuje použití GetProperties metody pro přístup k vlastnostem ovládacího prvku. Tento příklad kódu je součástí většího příkladu ComponentDesigner pro třídu.

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

Poznámky

Vlastnosti komponenty se mohou lišit od vlastností třídy, protože lokalita může přidat nebo odebrat vlastnosti, pokud je komponenta v lokalitě.

component Pokud je nullparametr , vrátí se prázdná kolekce.

Pořadí vrácených kolekcí není zaručeno, že bude mezi jednotlivými voláními identické, takže ji před použitím vždy objednejte.

Viz také

Platí pro

GetProperties(Object, Attribute[])

Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs
Zdroj:
TypeDescriptor.cs

Vrátí kolekci vlastností pro zadanou komponentu pomocí zadaného pole atributů jako filtru.

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

Parametry

component
Object

Komponenta, pro která chcete získat vlastnosti.

attributes
Attribute[]

Pole typu Attribute , které se má použít jako filtr.

Návraty

A PropertyDescriptorCollection s vlastnostmi, které odpovídají zadaným atributům pro zadanou komponentu.

Výjimky

component je objekt vzdáleného meziprocesu.

Příklady

Následující příklad kódu ukazuje, jak implementovat metodu GetProperties . Tento příklad kódu je součástí většího příkladu PropertyTab pro třídu.

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

Poznámky

Vlastnosti parametru component se mohou lišit od vlastností třídy, protože web může přidat nebo odebrat vlastnosti, pokud component je parametr v lokalitě.

Pole attributes parametrů se používá k filtrování pole. Filtrování je definováno následujícími pravidly:

  • Pokud vlastnost nemá stejnou Attribute třídu, vlastnost není zahrnuta do vráceného pole.

  • Pokud je atribut instance Attribute třídy, vlastnost musí být přesná shoda nebo není zahrnuta ve vrácené matici.

  • Pokud je zadána Attribute instance a jedná se o výchozí vlastnost, je zahrnuta do vráceného pole i v případě, že ve vlastnosti není žádná instance objektu Attribute .

  • Pokud attributes má výchozí atribut, GetProperties metoda odpovídá případu, kdy vlastnost nemá atribut použitý.

Pokud component je null, vrátí se prázdná kolekce.

Pořadí vrácených kolekcí není zaručeno, že bude mezi jednotlivými voláními identické, takže ji před použitím vždy objednejte.

Viz také

Platí pro