Udostępnij za pośrednictwem


TypeDescriptor.GetProperties Metoda

Definicja

Zwraca kolekcję właściwości w składniku lub typie.

Przeciążenia

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, Boolean)

Zwraca kolekcję właściwości 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(Type)

Zwraca kolekcję właściwości określonego typu składnika.

GetProperties(Object)

Zwraca kolekcję właściwości dla określonego 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, Attribute[], Boolean)

Ź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);
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

Składnik, dla którego mają być uzyskiwane właściwości.

attributes
Attribute[]

Tablica typu Attribute , która ma być używana jako filtr.

noCustomTypeDesc
Boolean

true nie uwzględniać niestandardowych informacji o opisie typu; w przeciwnym razie , false.

Zwraca

Element PropertyDescriptorCollection ze zdarzeniami zgodnymi z określonymi atrybutami określonego składnika.

Wyjątki

component jest obiektem zdalnym przetwarzania 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ładnym dopasowaniem lub nie jest uwzględniona w zwracanej tablicy.

  • Jeśli wystąpienie Attribute jest określone i jest właściwością domyślną, jest uwzględniana w zwracanej tablicy, nawet jeśli w właściwości nie ma żadnego wystąpienia Attribute obiektu .

  • Jeśli attributes ma 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ść zwracanej kolekcji nie jest gwarantowana, aby była identyczna między wywołaniami, więc zawsze porządkuj ją przed użyciem.

Zobacz też

Dotyczy

GetProperties(Object, Boolean)

Źródło:
TypeDescriptor.cs
Źródło:
TypeDescriptor.cs
Źródło:
TypeDescriptor.cs

Zwraca kolekcję właściwości określonego składnika przy użyciu deskryptora domyślnego 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

Składnik, dla którego mają być uzyskiwane właściwości.

noCustomTypeDesc
Boolean

true nie uwzględniać niestandardowych informacji o opisie typu; w przeciwnym razie , false.

Zwraca

Element PropertyDescriptorCollection z właściwościami określonego składnika.

Wyjątki

component jest obiektem zdalnym przetwarzania 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 parametr ma nullwartość , zwracana jest pusta kolekcja.

Kolejność zwracanej kolekcji nie jest gwarantowana, aby była identyczna między wywołaniami, więc zawsze porządkuj ją przed użyciem.

Zobacz też

Dotyczy

GetProperties(Type, Attribute[])

Ź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);
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

Składnik Type docelowy.

attributes
Attribute[]

Tablica typu Attribute , która ma być używana jako filtr.

Zwraca

Element PropertyDescriptorCollection z właściwościami zgodnymi z określonymi atrybutami dla tego typu składnika.

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 PropertyTab dla klasy .

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

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ładnym dopasowaniem lub nie jest uwzględniona w zwracanej tablicy.

  • Jeśli wystąpienie Attribute jest określone i jest właściwością domyślną, jest uwzględniana w zwracanej tablicy, nawet jeśli w właściwości nie ma żadnego wystąpienia Attribute obiektu .

  • Jeśli attributes ma 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ść zwracanej kolekcji nie jest gwarantowana, aby była identyczna między wywołaniami, więc zawsze porządkuj ją przed użyciem.

Zobacz też

Dotyczy

GetProperties(Type)

Ź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.

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

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.

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ść zwracanej kolekcji nie jest gwarantowana, aby była identyczna między wywołaniami, więc zawsze porządkuj ją przed użyciem.

Zobacz też

Dotyczy

GetProperties(Object)

Ź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);
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

Składnik, dla którego mają być uzyskiwane właściwości.

Zwraca

Element PropertyDescriptorCollection z właściwościami określonego składnika.

Wyjątki

component jest obiektem zdalnym przetwarzania 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 ComponentDesigner dla klasy .

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

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ść zwracanej kolekcji nie jest gwarantowana, aby była identyczna między wywołaniami, więc zawsze porządkuj ją przed użyciem.

Zobacz też

Dotyczy

GetProperties(Object, Attribute[])

Ź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);
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

Składnik, dla którego mają być uzyskiwane właściwości.

attributes
Attribute[]

Tablica typu Attribute , która ma być używana jako filtr.

Zwraca

Element PropertyDescriptorCollection z właściwościami zgodnymi z określonymi atrybutami określonego składnika.

Wyjątki

component jest obiektem zdalnym przetwarzania 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 PropertyTab dla klasy .

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

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ładnym dopasowaniem lub nie jest uwzględniona w zwracanej tablicy.

  • Jeśli wystąpienie Attribute jest określone i jest właściwością domyślną, jest uwzględniana w zwracanej tablicy, nawet jeśli w właściwości nie ma żadnego wystąpienia Attribute obiektu .

  • Jeśli attributes ma atrybut domyślny, metoda pasuje do wielkości liter, GetProperties gdy właściwość nie ma zastosowanego atrybutu.

Jeśli component parametr ma nullwartość , zwracana jest pusta kolekcja.

Kolejność zwracanej kolekcji nie jest gwarantowana, aby była identyczna między wywołaniami, więc zawsze porządkuj ją przed użyciem.

Zobacz też

Dotyczy