 Their specific use as metadata is left to the developer and can cover a wide range of types of information about any given application, classes and members that is not instance-specific.The decision to expose any given attribute as a property is also left to the developer as is the decision to use them as part of a larger application framework.Attributes are implemented as classes that are derived from .