En el siguiente ejemplo se crea la propiedad MyImage. La propiedad tiene dos atributos: DescriptionAttribute y CategoryAttribute.
<Description("The image associated with the control"), _
Category("Appearance")> _
Public Property MyImage() As Image
Get
' Insert code here.
Return image1
End Get
Set
' Insert code here.
End Set
End Property
[Description("The image associated with the control"),Category("Appearance")]
public Image MyImage {
get {
// Insert code here.
return image1;
}
set {
// Insert code here.
}
}
[Description("The image associated with the control"),Category("Appearance")]
System::Drawing::Image^ get()
{
// Insert code here.
return m_Image1;
}
void set( System::Drawing::Image^ )
{
// Insert code here.
}
}
/** @attribute Description("The image associated with the control")
* @attribute Category("Appearance")
*/
/** @property
*/
public Image get_MyImage()
{
// Insert code here.
return image1;
} //get_MyImage
/** @property
*/
public void set_MyImage(Image value)
{
// Insert code here.
} //set_MyImage
En el ejemplo siguiente se obtiene la categoría correspondiente a MyImage. Primero, el código obtiene PropertyDescriptorCollection con todas las propiedades del objeto. A continuación, el código utiliza un índice en PropertyDescriptorCollection para obtener MyImage. Después, devuelve los atributos de esta propiedad y los guarda en la variable attributes.
A continuación, el ejemplo imprime la categoría recuperando el atributo CategoryAttribute de la clase AttributeCollection y escribiéndolo en la pantalla de la consola.
' Gets the attributes for the property.
Dim attributes As AttributeCollection = _
TypeDescriptor.GetProperties(Me)("MyImage").Attributes
' Prints the description by retrieving the CategoryAttribute.
' from the AttributeCollection.
Dim myAttribute As CategoryAttribute = _
CType(attributes(GetType(CategoryAttribute)), CategoryAttribute)
Console.WriteLine(myAttribute.Category)
// Gets the attributes for the property.
AttributeCollection attributes =
TypeDescriptor.GetProperties(this)["MyImage"].Attributes;
// Prints the description by retrieving the CategoryAttribute.
// from the AttributeCollection.
CategoryAttribute myAttribute =
(CategoryAttribute)attributes[typeof(CategoryAttribute)];
Console.WriteLine(myAttribute.Category);
// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyImage" ]->Attributes;
// Prints the description by retrieving the CategoryAttribute.
// from the AttributeCollection.
CategoryAttribute^ myAttribute = static_cast<CategoryAttribute^>(attributes[ CategoryAttribute::typeid ]);
Console::WriteLine( myAttribute->Category );
// Gets the attributes for the property.
AttributeCollection attributes = TypeDescriptor.GetProperties(this)
.get_Item("MyImage").get_Attributes();
// Prints the description by retrieving the CategoryAttribute.
// from the AttributeCollection.
CategoryAttribute myAttribute = (CategoryAttribute)(
attributes.get_Item(CategoryAttribute.class.ToType()));
Console.WriteLine(myAttribute.get_Category());