ASP.NET 2.0 Attributes derived from System.Attribute

.NET Framework uses Reflection to gain insight into methods, classes. Reflection helps us to read META data of the methods and classes. This information is stored in the special place call manifest. By employing Reflection we can read this data. Such data is called Attributes. Attributes can be used to describe security privileges, declare capabilities such as serialization, describe assemblies by titles, descriptions and copyright notes.

Attributes are specified using [] notation. For example we can describe Assembly like that
[assembly: AssemblyTitle("My Assembly Title")]
[assembly: AssemblyDescription("My Assembly Description")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("MyProduct01")]
[assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("")]

Or we can declare capabilities of the method using Attributes like that. Without declaring class as Serializable it is not serializable.
[Serializable]
class ShoppingCartItem
{
}

Or we can define security privileges to read file via Attributes like that
using System;
using System.Security.Permissions;
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, Read=@"C:\boot.ini")]
namespace MyDeclarativeExample
{
    class Class1
    {

    }

}