.NET Framework Class Library
DescriptionAttribute Class

Specifies a description for a property or event.

Namespace:   System.ComponentModel
Assembly:  System (in System.dll)
Syntax
<[%$TOPIC/xwb66ftt_en-us_VS_110_2_0_0_0_0%]([%$TOPIC/xwb66ftt_en-us_VS_110_2_0_0_0_1%].All)> _
Public Class DescriptionAttribute _
	Inherits [%$TOPIC/xwb66ftt_en-us_VS_110_2_0_0_0_2%]
[[%$TOPIC/xwb66ftt_en-us_VS_110_2_0_1_0_0%]([%$TOPIC/xwb66ftt_en-us_VS_110_2_0_1_0_1%].All)]
public class DescriptionAttribute : [%$TOPIC/xwb66ftt_en-us_VS_110_2_0_1_0_2%]
[[%$TOPIC/xwb66ftt_en-us_VS_110_2_0_2_0_0%]([%$TOPIC/xwb66ftt_en-us_VS_110_2_0_2_0_1%]::All)]
public ref class DescriptionAttribute : public [%$TOPIC/xwb66ftt_en-us_VS_110_2_0_2_0_2%]
[<[%$TOPIC/xwb66ftt_en-us_VS_110_2_0_3_0_0%]([%$TOPIC/xwb66ftt_en-us_VS_110_2_0_3_0_1%].All)>]
type DescriptionAttribute =  
    class 
        inherit [%$TOPIC/xwb66ftt_en-us_VS_110_2_0_3_0_2%] 
    end
public class DescriptionAttribute extends [%$TOPIC/xwb66ftt_en-us_VS_110_2_0_4_0_0%]

The DescriptionAttribute type exposes the following members.

Constructors
  NameDescription
Public method DescriptionAttributeInitializes a new instance of the DescriptionAttribute class with no parameters.
Public method DescriptionAttribute(String)Initializes a new instance of the DescriptionAttribute class with a description.
Top
Properties
  NameDescription
Public property DescriptionGets the description stored in this attribute.
Protected property DescriptionValueGets or sets the string stored as the description.
Public property TypeIdWhen implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.)
Top
Methods
  NameDescription
Public method EqualsReturns whether the value of the given object is equal to the current DescriptionAttribute. (Overrides AttributeEquals(Object).)
Protected method FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCodeReturns the hash code for this instance. (Overrides AttributeGetHashCode.)
Public method GetTypeGets the Type of the current instance. (Inherited from Object.)
Public method IsDefaultAttributeReturns a value indicating whether this is the default DescriptionAttribute instance. (Overrides AttributeIsDefaultAttribute.)
Public method MatchWhen overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.)
Protected method MemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public method ToStringReturns a string that represents the current object. (Inherited from Object.)
Top
Fields
  NameDescription
Public field Static member DefaultSpecifies the default value for the DescriptionAttribute, which is an empty string (""). This static field is read-only.
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implemetation Private method _AttributeGetIDsOfNamesMaps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.)
Explicit interface implemetation Private method _AttributeGetTypeInfoRetrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.)
Explicit interface implemetation Private method _AttributeGetTypeInfoCountRetrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.)
Explicit interface implemetation Private method _AttributeInvokeProvides access to properties and methods exposed by an object. (Inherited from Attribute.)
Top
Remarks

A visual designer can display the specified description when referencing the component member, such as in a Properties window. Call Description to access the value of this attribute.

For more information, see Extending Metadata Using Attributes.

Examples

The following example creates the MyImage property. The property has two attributes, a DescriptionAttribute and a 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.
    }
 }
public:
   property Image^ MyImage 
   {
      [Description("The image associated with the control"),Category("Appearance")]
      Image^ get()
      {
         // Insert code here. 
         return image1;
      }

      void set( Image^ value )
      {
         // Insert code here.
      }
   }

The next example gets the description of MyImage. First the code gets a PropertyDescriptorCollection with all the properties for the object. Next it indexes into the PropertyDescriptorCollection to get MyImage. Then it returns the attributes for this property and saves them in the attributes variable.

The example then prints the description by retrieving DescriptionAttribute from the AttributeCollection, and writing it to the console screen.

' Gets the attributes for the property. 
Dim attributes As AttributeCollection = _
    TypeDescriptor.GetProperties(Me)("MyImage").Attributes

' Prints the description by retrieving the DescriptionAttribute 
' from the AttributeCollection.  
Dim myAttribute As DescriptionAttribute = _
    CType(attributes(GetType(DescriptionAttribute)), DescriptionAttribute)
Console.WriteLine(myAttribute.Description)
// Gets the attributes for the property.
 AttributeCollection attributes = 
    TypeDescriptor.GetProperties(this)["MyImage"].Attributes;

 /* Prints the description by retrieving the DescriptionAttribute 
  * from the AttributeCollection. */
 DescriptionAttribute myAttribute = 
    (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
 Console.WriteLine(myAttribute.Description);
// Gets the attributes for the property.
AttributeCollection^ attributes = TypeDescriptor::GetProperties( this )[ "MyImage" ]->Attributes;

/* Prints the description by retrieving the DescriptionAttribute 
      * from the AttributeCollection. */
DescriptionAttribute^ myAttribute = dynamic_cast<DescriptionAttribute^>(attributes[ DescriptionAttribute::typeid ]);
Console::WriteLine( myAttribute->Description );
Version Information

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.