TypeDescriptor.GetAttributes Metodo

Definizione

Restituisce la raccolta di attributi per un componente o un tipo.Returns the collection of attributes for a component or a type.

Overload

GetAttributes(Object)

Restituisce la raccolta di attributi per il componente specificato.Returns the collection of attributes for the specified component.

GetAttributes(Type)

Restituisce una raccolta di attributi per il tipo di componente specificato.Returns a collection of attributes for the specified type of component.

GetAttributes(Object, Boolean)

Restituisce una raccolta di attributi per il componente specificato e un valore booleano che indica che è stato creato un descrittore di tipo personalizzato.Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

GetAttributes(Object)

Restituisce la raccolta di attributi per il componente specificato.Returns the collection of attributes for the specified component.

public:
 static System::ComponentModel::AttributeCollection ^ GetAttributes(System::Object ^ component);
public static System.ComponentModel.AttributeCollection GetAttributes (object component);
static member GetAttributes : obj -> System.ComponentModel.AttributeCollection
Public Shared Function GetAttributes (component As Object) As AttributeCollection

Parametri

component
Object

Il componente per cui ottenere gli attributi.The component for which you want to get attributes.

Restituisce

Oggetto AttributeCollection contenente gli attributi per il componente.An AttributeCollection containing the attributes for the component. Se component è null, questo metodo restituisce una raccolta vuota.If component is null, this method returns an empty collection.

Esempi

Per un esempio di questo metodo, vedere il metodo Matches.For an example of this method, see the Matches method.

Commenti

Gli attributi restituiti dal metodo GetAttributes possono essere modificati dinamicamente dall'origine del componente originale elencando i provider di estensione (IExtenderProvider), i servizi di filtro (ITypeDescriptorFilterService) e i filtri degli attributi.The attributes returned by the GetAttributes method may be dynamically modified from the original component's source listing by extender providers (IExtenderProvider), filter services (ITypeDescriptorFilterService), and attribute filters.

Quando si definisce un attributo personalizzato con AttributeUsageAttribute.AllowMultiple impostato su true, è necessario eseguire l'override della proprietà Attribute.TypeId per renderla univoca.When you define a custom attribute with AttributeUsageAttribute.AllowMultiple set to true, you must override the Attribute.TypeId property to make it unique. Se tutte le istanze dell'attributo sono univoche, eseguire l'override di Attribute.TypeId per restituire l'identità dell'oggetto dell'attributo.If all instances of your attribute are unique, override Attribute.TypeId to return the object identity of your attribute. Se solo alcune istanze dell'attributo sono univoche, restituire un valore da Attribute.TypeId che restituirà l'uguaglianza in tali casi.If only some instances of your attribute are unique, return a value from Attribute.TypeId that would return equality in those cases. Alcuni attributi, ad esempio, hanno un parametro del costruttore che funge da chiave univoca.For example, some attributes have a constructor parameter that acts as a unique key. Per questi attributi, restituire il valore del parametro del costruttore dalla proprietà Attribute.TypeId.For these attributes, return the value of the constructor parameter from the Attribute.TypeId property.

Nota

L'implementazione predefinita di Attribute.TypeId restituisce l'identità del tipo indipendentemente dal valore della proprietà AttributeUsageAttribute.AllowMultiple.The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. Per restituire più istanze di un attributo AttributeUsageAttribute.AllowMultiple dalla AttributeCollection, l'attributo deve eseguire l'override della proprietà Attribute.TypeId.In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

Vedi anche

GetAttributes(Type)

Restituisce una raccolta di attributi per il tipo di componente specificato.Returns a collection of attributes for the specified type of component.

public:
 static System::ComponentModel::AttributeCollection ^ GetAttributes(Type ^ componentType);
public static System.ComponentModel.AttributeCollection GetAttributes (Type componentType);
static member GetAttributes : Type -> System.ComponentModel.AttributeCollection
Public Shared Function GetAttributes (componentType As Type) As AttributeCollection

Parametri

componentType
Type

Oggetto Type del componente di destinazione.The Type of the target component.

Restituisce

Oggetto AttributeCollection con gli attributi per il tipo del componente.An AttributeCollection with the attributes for the type of the component. Se il componente è null, questo metodo restituisce una raccolta vuota.If the component is null, this method returns an empty collection.

Commenti

Chiamare questa versione di questo metodo solo quando non si dispone di un'istanza dell'oggetto.Call this version of this method only when you do not have an instance of the object.

Per gli attributi con AttributeUsageAttribute.AllowMultiple impostata su true, la raccolta di attributi rimuove le istanze duplicate.For attributes with AttributeUsageAttribute.AllowMultiple set to true, the attribute collection removes duplicate instances. Si tratta di istanze in cui la proprietà Attribute.TypeId restituisce valori uguali.These are instances in which the Attribute.TypeId property returns equal values.

Quando si definisce un attributo personalizzato con AttributeUsageAttribute.AllowMultiple impostato su true, è necessario eseguire l'override della proprietà Attribute.TypeId per renderla univoca.When you define a custom attribute with AttributeUsageAttribute.AllowMultiple set to true, you must override the Attribute.TypeId property to make it unique. Se tutte le istanze dell'attributo sono univoche, eseguire l'override di Attribute.TypeId per restituire l'identità dell'oggetto dell'attributo.If all instances of your attribute are unique, override Attribute.TypeId to return the object identity of your attribute. Se solo alcune istanze dell'attributo sono univoche, restituire un valore da Attribute.TypeId che restituirà l'uguaglianza in tali casi.If only some instances of your attribute are unique, return a value from Attribute.TypeId that would return equality in those cases. Alcuni attributi, ad esempio, hanno un parametro del costruttore che funge da chiave univoca.For example, some attributes have a constructor parameter that acts as a unique key. Per questi attributi, restituire il valore del parametro del costruttore dalla proprietà Attribute.TypeId.For these attributes, return the value of the constructor parameter from the Attribute.TypeId property.

Nota

L'implementazione predefinita di Attribute.TypeId restituisce l'identità del tipo indipendentemente dal valore della proprietà AttributeUsageAttribute.AllowMultiple.The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. Per restituire più istanze di un attributo AttributeUsageAttribute.AllowMultiple dalla AttributeCollection, l'attributo deve eseguire l'override della proprietà Attribute.TypeId.In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

Vedi anche

GetAttributes(Object, Boolean)

Restituisce una raccolta di attributi per il componente specificato e un valore booleano che indica che è stato creato un descrittore di tipo personalizzato.Returns a collection of attributes for the specified component and a Boolean indicating that a custom type descriptor has been created.

public:
 static System::ComponentModel::AttributeCollection ^ GetAttributes(System::Object ^ component, bool noCustomTypeDesc);
public static System.ComponentModel.AttributeCollection GetAttributes (object component, bool noCustomTypeDesc);
static member GetAttributes : obj * bool -> System.ComponentModel.AttributeCollection
Public Shared Function GetAttributes (component As Object, noCustomTypeDesc As Boolean) As AttributeCollection

Parametri

component
Object

Il componente per cui ottenere gli attributi.The component for which you want to get attributes.

noCustomTypeDesc
Boolean

true per usare un set di attributi di base dal descrittore di tipi personalizzato se component è di tipo ICustomTypeDescriptor; in caso contrario, false.true to use a baseline set of attributes from the custom type descriptor if component is of type ICustomTypeDescriptor; otherwise, false.

Restituisce

Oggetto AttributeCollection con gli attributi per il componente.An AttributeCollection with the attributes for the component. Se il componente è null, questo metodo restituisce una raccolta vuota.If the component is null, this method returns an empty collection.

Commenti

Gli attributi restituiti dal metodo GetAttributes possono essere modificati dinamicamente dall'origine dei componenti originale elencando i provider di estensione (IExtenderProvider), i servizi di filtro (ITypeDescriptorFilterService) e i filtri degli attributi.The attributes returned by the GetAttributes method may be dynamically modified from the original components source listing by extender providers (IExtenderProvider), filter services (ITypeDescriptorFilterService), and attribute filters.

Quando si definisce un attributo personalizzato con AttributeUsageAttribute.AllowMultiple impostato su true, è necessario eseguire l'override della proprietà Attribute.TypeId per renderla univoca.When you define a custom attribute with AttributeUsageAttribute.AllowMultiple set to true, you must override the Attribute.TypeId property to make it unique. Se tutte le istanze dell'attributo sono univoche, eseguire l'override di Attribute.TypeId per restituire l'identità dell'oggetto dell'attributo.If all instances of your attribute are unique, override Attribute.TypeId to return the object identity of your attribute. Se solo alcune istanze dell'attributo sono univoche, restituire un valore da Attribute.TypeId che restituirà l'uguaglianza in tali casi.If only some instances of your attribute are unique, return a value from Attribute.TypeId that would return equality in those cases. Alcuni attributi, ad esempio, hanno un parametro del costruttore che funge da chiave univoca.For example, some attributes have a constructor parameter that acts as a unique key. Per questi attributi, restituire il valore del parametro del costruttore dalla proprietà Attribute.TypeId.For these attributes, return the value of the constructor parameter from the Attribute.TypeId property.

Nota

L'implementazione predefinita di Attribute.TypeId restituisce l'identità del tipo indipendentemente dal valore della proprietà AttributeUsageAttribute.AllowMultiple.The default implementation of Attribute.TypeId returns the type identity regardless of the value of the AttributeUsageAttribute.AllowMultiple property. Per restituire più istanze di un attributo AttributeUsageAttribute.AllowMultiple dalla AttributeCollection, l'attributo deve eseguire l'override della proprietà Attribute.TypeId.In order to return multiple instances of an AttributeUsageAttribute.AllowMultiple attribute from the AttributeCollection, your attribute must override the Attribute.TypeId property.

Vedi anche

Si applica a