Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo TypeDescriptor.GetProperties (Type, Attribute[])

 

Data di pubblicazione: novembre 2016

Restituisce la raccolta di proprietà per un tipo di componente specificato usando una matrice di attributi specificata come filtro.

Spazio dei nomi:   System.ComponentModel
Assembly:  System (in System.dll)

public static PropertyDescriptorCollection GetProperties(
	Type componentType,
	Attribute[] attributes
)

Parametri

componentType
Type: System.Type

Oggetto Type del componente di destinazione.

attributes
Type: System.Attribute[]

Matrice di tipo Attribute da usare come filtro.

Valore restituito

Type: System.ComponentModel.PropertyDescriptorCollection

Oggetto PropertyDescriptorCollection con le proprietà che corrispondono agli attributi specificati per questo tipo di componente.

Chiamare questa versione di questo metodo solo quando non è un'istanza dell'oggetto.

Il attributes parametro matrice viene utilizzata per filtrare la matrice. Il filtro è definito dalle regole seguenti:

  • Se una proprietà non dispone di un Attribute della stessa classe, la proprietà non è inclusa nella matrice restituita.

  • Se l'attributo è un'istanza di Attribute (classe), la proprietà deve essere una corrispondenza esatta o non è incluso nella matrice restituita.

  • Se un Attribute è specificata l'istanza e la proprietà predefinita, verrà inclusa nella matrice restituita anche se non esiste alcuna istanza di Attribute nella proprietà.

  • Se attributes dispone di un attributo predefinito, il GetProperties metodo corrispondenza quando la proprietà non ha applicato l'attributo.

Se il componentType parametro null, viene restituita una raccolta vuota.

L'ordine dell'insieme restituito non è garantito per essere identici tra le chiamate, pertanto è sempre necessario ordinarlo prima dell'uso.

Esempio di codice riportato di seguito viene illustrato come implementare il GetProperties metodo. Questo esempio di codice fa parte di un esempio più esaustivo fornito per la PropertyTab classe.

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

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: