Essentially attributes are a means of decorating code with various properties at compile time. This can be passive, such as marking a class as Serializable with the SerializableAttribute, or it can take a more active role, such as the MarshalAsAttribute which tells the runtime how to pass data between managed and unmanaged code. All the code in the CA.Common.Attributes uses this .NET feature to decorate the code then provide some basic functionally based on that decoration

Classes

  ClassDescription
StringEnum
Helper class for working with 'extended' enums using StringValueAttribute attributes.
StringEnumDataTable
This class represents a specialization of data table used to hold the data from the enums.
StringValueAttribute
Simple attribute class for storing string values that can be that can be accessed at run time, This class is designed to work with the StringEnum class

Structures

  StructureDescription
StringEnumContainer
a public struct used for holding the values of an individual string enum. this struct is used for the bindable lists and used to construct the StringEnumDataTable